Работает ли foreach () для нечисловых ключей массива? - PullRequest
0 голосов
/ 04 декабря 2010

Мне было интересно, работает ли foreach (), когда массив выглядит так:

  • arr_name [eggs] = что-то
  • arr_name [карандаш] = что-то еще

Будет работать foreach, если работает как:

foreach(arr_name as $key => $value)

для ключей, которые имеют нечисловое значение?

Ответы [ 3 ]

4 голосов
/ 04 декабря 2010

Да, foreach поддерживает любые ключи. В вашем случае $key будет строкой, 'eggs' и 'pencil' соответственно для каждого элемента. Фактически, foreach был предназначен для использования с массивами, которые имеют нечисловые ключи, которые вы не можете легко перебрать, используя for.

3 голосов
/ 04 декабря 2010

Да, PHP не имеет реального различия между массивами с цифровыми и нечисловыми ключами.Для PHP это просто массивы.

1 голос
/ 04 декабря 2010

Да, объяснение, данное BoltClock, верно, и я бы посоветовал вам попробовать и вручную. Вы пропустили $ перед именем массива в операторе foreach

foreach ($ arr_name как $ key => $ value) echo $ value ?>

...