PHP foreach、while、for三种循环遍历方式

-如果使用数据存储ID作为键值放入数组遍历数组时会不会影响排序的问题
经过查询与验证,得到答案:foreach遍历数组的顺序是按照值存入数组的先后顺序进行遍历的,此为线性遍历,不受数组键值的大小顺序影响

$a = [2=>'我是2',33=>'我是33',4=>'我是4',1=>'我是1'];
print_r($a);//原数组

foreach($a as $k => $v){
    $b[$k]=$v;
}
print_r($b);//foreach后顺序不变

//数组排序函数
    sort($b) // 以升序对数组排序
    rsort($b) //以降序对数组排序
    asort($b) //根据值,以升序对关联数组进行排序
    arsort($b) //根据值,以降序对关联数组进行排序
    ksort($b) //根据键,以升序对关联数组进行排序
    krsort($b) //根据键,以降序对关联数组进行排序
print_r($b);//发生变化

1>具体的原理帖子
2>foreach、while、for三种循环遍历方式的效率对比

猜你喜欢

转载自blog.csdn.net/lkeven/article/details/79032114