问题
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 ?>
来源:https://stackoverflow.com/questions/4352971/does-foreach-work-for-non-numerical-array-keys