Неопределенный индекс PHP — Isset () имеет значение false, когда индекс находится в массиве

Я не могу понять, в чем здесь проблема. У меня есть ассоциативный массив с предопределенными индексами, и при попытке получить доступ к одному из индексов я получаю неопределенную ошибку индекса, вот код,

        if(!isset($score_value[$index])){
echo $index . ' isnt in array: <br/>';
print_r($score_value);
exit;
}
print_r($score_value[$index]);

Выход был такой:

pi_cholesterol не в массиве:

Array (
[pi_overall_health] => Array (
[4] => 4 [1] => 1 [2] => 4 [3] => 1
)
[pi_bmi] => Array (
[Healthy Weight] => 4 [Obese] => 3 [Overweight] => 3
)
[pi_cholesterol] => Array (
[Yes - its level is too high] => 6 [Yes - its level is ok] => 3 [No] => 1
)
)

Как вы видете pi_cholesterol это индекс в массиве, но по какой-то причине isset() помечает его как не находящийся в массиве, то же самое происходит, если я пытаюсь с array_key_exists(), Там может быть что-то простое, что я упускаю из виду, но я не вижу этого.

Любые предложения приветствуются!

1

Решение

Извините за мою собственную глупую ошибку, $ index перезаписывался в другом месте кода и дополнялся конечным пробелом.

Mjh, axiac и rahul_m, предложившие использовать trim (), помогли мне решить эту проблему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector