Does foreach() work for non-numerical array keys?

2019-03-07 08:12发布

问题:

I was wondering if foreach() works when the array looks like this:

  • arr_name[eggs] = something
  • arr_name[pencil] = something else

Will foreach work if run as:

foreach(arr_name as $key => $value)

for they keys that have a non-numerical value ?

回答1:

Yes, foreach supports any kind of key. In your case, $key will be a string, 'eggs' and 'pencil' respectively for each item. In fact, foreach was intended for use with arrays that have non-numerical keys which you can't easily iterate using for.



回答2:

Yes, PHP has no real distinction between arrays with numeric vs non-numeric keys. They're all simply arrays as far as PHP is concerned.



回答3:

Yes the explanation given by BoltClock is right & i would suggest you to manually try too. You have missed $before array name in the foreach statement

foreach($arr_name as $key=>$value) echo $value ?>