Мне было интересно, работает ли 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?>