Мне было интересно, работает ли foreach (), когда массив выглядит так:
Будет ли работать foreach, если выполняется как:
foreach(arr_name as $key => $value)
для ключей, которые имеют нечисловое значение?
Да, foreach
поддерживает любой тип ключа. В вашем случае $key
будет представлять собой строку, 'eggs'
и 'pencil'
соответственно для каждого элемента. Фактически, foreach
был предназначен для использования с массивами, которые имеют нечисловые ключи, которые вы не можете легко использовать for
использования.
Да, PHP не имеет реального различия между массивами с числовыми и нечисловыми ключами. Все они просто массивы, относящиеся к PHP.
Да, объяснение, данное BoltClock, верно, и я предлагаю вам вручную попробовать. Вы пропустили $ до имени массива в инструкции foreach
foreach ($ arr_name как $ key => $ value) echo $ value?>