У меня были значительные проблемы, пытаясь выяснить, почему мои массивы не работали так, как ожидалось. Функционально я использовал код, аналогичный приведенному ниже, но в моей программе он не работал, поэтому я написал отдельный тестовый пример, используя те же типы данных и синтаксис, и получил ошибки о недопустимых типах смещения.
Warning: Illegal offset type in <file location>\example.php on line 12
Warning: Illegal offset type in <file location>\example.php on line 16
Они относятся к двум строкам, содержащим ссылку на "$ questions [$ question]", в частности.
<?php
$questions = array(
"訓読み: 玉"=>array("たま","だま"),
"訓読み: 立"=>array("たて","たち","たつ","たてる","だてる","だて"),
);
$question = $questions["訓読み: 立"];
if (is_array($questions[$question])){
$res = $questions[$question][0];
} else {
$res = $questions[$question];
}
echo $res;
?>
Я думаю, что я чуть выше своего уровня навыков здесь, потому что в то время как я вижу предупреждение на http://php.net/manual/en/language.types.array.php, которое гласит "Массивы и объекты не могут быть использованы в качестве ключей. Это приведет к предупреждение: Недопустимый тип смещения. ", я не вижу, чем я занимаюсь, отличается от примера № 7 на этой самой странице.
Я был бы очень признателен за объяснение, которое помогло бы мне понять и решить мою проблему здесь.
Заранее спасибо!