Я не могу понять, в чем здесь проблема. У меня есть ассоциативный массив с предопределенными индексами, и при попытке получить доступ к одному из индексов я получаю неопределенную ошибку индекса, вот код,
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()
, Там может быть что-то простое, что я упускаю из виду, но я не вижу этого.
Любые предложения приветствуются!
Извините за мою собственную глупую ошибку, $ index перезаписывался в другом месте кода и дополнялся конечным пробелом.
Mjh, axiac и rahul_m, предложившие использовать trim (), помогли мне решить эту проблему.
Других решений пока нет …