PHP中foreach循环的顺序是什么?

noi*_*cat 1 php arrays sorting foreach loops

例如,我有一个数组

$arr=array(
    "foo" => "fooval",
    "boo" => "booval",
    "roo" => "rooval",
);
Run Code Online (Sandbox Code Playgroud)

然后我想打印模式"key is value"中的所有元素.这段代码应该完成这项工作:

foreach($arr as $key => $val)
    echo $key." is ".$val;
Run Code Online (Sandbox Code Playgroud)

我能得到这个吗?

foo is fooval
boo is booval
roo is rooval
Run Code Online (Sandbox Code Playgroud)

我是指订单.是否保证它将以与给定数组相同的顺序执行,或者数组以某种方式排序?

谢谢你的回答.

Joh*_*nde 6

它将按顺序循环遍历数组.因此,在您的具体问题中,您会看到您期望的结果.


Bab*_*aba 5

arrays是有序的值列表,其顺序不需要排序.它遵循一个序列

来自PHP DOC

PHP中的数组实际上是一个有序映射.映射是将值与键关联的类型.此类型针对多种不同用途进行了优化; 它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多.由于数组值可以是其他数组,因此树和多维数组也是可能的.