PHP教程:数组遍历方法实例(foreach,list,each),使用foreach+list灵活处理多维数组
首先我们来介绍PHP中遍历关联数组的三种方法:
<?php $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); foreach ($sports as $key => $value) { echo $key.": ".$value."<br />"; } ?>
<?php $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); while ($elem = each($sports)) { echo $elem['key'].": ".$elem['value']."<br />"; } ?>
<?php $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); while (list($key, $value) = each($sports)) { echo $key.": ".$value."<br />"; ?>
有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如:
$arr = [ [1, 2, [3, 4]], [5, 6, [7, 8]], ];
我们需要的结果是元素1变成1,2,3,4,元素2变成5,6,7,8,这时候,我们就可以用foreach配合list来实现,而且非常简单:
foreach ($arr as list($a, $b, list($c, $d))) { echo $a, ',', $b, ',', $c, ',', $d, PHP_EOL; }
是不是非常的简单。但是要注意哦,list拆解键值对形式的Hash数组时要指定键名,并且只有在7.1以后的版本才可以使用哦