У меня есть следующий код PHP:
$special_term_id = 55;
$special_term_name = $form['shs_term_node_tid_depth']['#options']["'" .$special_term_id. "'"];
echo $special_term_name;
Это не работает, пока я пишу как:
$special_term_id = 55;
$special_term_name = $form['shs_term_node_tid_depth']['#options']['55'];
echo $special_term_name;
Тогда это работает, в чем может быть причина?
Следующие 2 оператора массива обращаются к разным ключам из одного и того же массива:
$array["'" .$special_term_id. "'"];
$array['55'];
Первый ищет ключ "'55'"
(внешние кавычки ограничивают строку), а второй ищет "55"
(кавычки ограничивают строку).
Поскольку массив имеет значение только для второго ключа, первый оператор не может работать.
Если вы хотите преобразовать int в строку, используйте (string)$special_term_id
Других решений пока нет …