在 PHP 中,遍历一组非关联的多维数组,大部分代码是这样的:
$items = array(
array('var1', 'var2', 'var3'),
array('var1', 'var2', 'var3'),
array('var1', 'var2', 'var3'),
array('var1', 'var2', 'var3'),
array('var1', 'var2', 'var3'),
);
foreach ($items as $item){
list($var1, $var2, $var3) = $item;
if ($var1 == $var2){
echo $var3;
}
}
甚至在 foreach
里面没有用 list
:
foreach ($items as $item){
$var1 = $item[0];
$var2 = $item[1];
$var3 = $item[3];
if ($var1 == $var2){
echo $var3;
}
}
其实现在可以在 foreach
内部利用 list
的赋值功能:
foreach ($items as list($var1, $var2, $var3)){
if ($var1 == $var2){
echo $var3;
}
}
在 PHP 7.1 之后,也支持关联数组了:
$data = [
["id" => 1, "name" => 'Tom'],
["id" => 2, "name" => 'Fred'],
];
// list() style
foreach ($data as list("id" => $id, "name" => $name)) {
// logic here with $id and $name
}
// [] style
foreach ($data as ["id" => $id, "name" => $name]) {
// logic here with $id and $name
}
这样写的代码就简洁优雅多了! 🙂
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有