PHP循环组合数组和list的使用
程序员文章站
2022-05-30 17:55:55
...
PHP循环结合数组和list的使用
foreach的使用:
1.用法1
??$arr=array("张三","李四","王五","马六");
??foreach($arr as $value)
??echo $value.'
';
?>
??foreach($arr as $value)
??echo $value.'
';
?>
2.用法2
$arr=array('chinese'=>130,'math'=>140,'english'=>135,'computer'=>130);
foreach($arr as $key=>$value)
echo $key.':'.$value.'
';
?>
foreach($arr as $key=>$value)
echo $key.':'.$value.'
';
?>
3.按拷贝还是引用
默认按拷贝,和函数很相似:
????$arr=array(1,2,3,4);
????foreach($arr as $value)
????$value*=2;//其实改变的是副本对原数组没有影响
????print_r($arr);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
?>
????foreach($arr as $value)
????$value*=2;//其实改变的是副本对原数组没有影响
????print_r($arr);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
?>
但是可以改成引用方式,通过&符号:
????$arr=array(1,2,3,4);
????foreach($arr as &$value)
????$value*=2;
????print_r($arr);//Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
?>
????foreach($arr as &$value)
????$value*=2;
????print_r($arr);//Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
?>
4.for循环
$arr=array(1,2,3,4,5);
for($i=0;$iecho $arr[$i].'
';
?>
for($i=0;$i
';
?>
5.each/list
each用法,每次取出个4元素数组,其中0,key对应键;1,value对应值:
$arr = array("张三", "李四", "王五");
$bar = each($arr);
print_r($bar);//Array ( [1] => 张三 [value] => 张三 [0] => 0 [key] => 0 )
?>
$bar = each($arr);
print_r($bar);//Array ( [1] => 张三 [value] => 张三 [0] => 0 [key] => 0 )
?>
list的用法:
$arr = array("张三", "李四", "王五");
list($a[0], $a[1], $a[2]) = $arr;
print_r($a);//Array ( [2] => 王五 [1] => 李四 [0] => 张三 )
?>
list($a[0], $a[1], $a[2]) = $arr;
print_r($a);//Array ( [2] => 王五 [1] => 李四 [0] => 张三 )
?>
list结合each使用:
$arr = array("张三"=>20, "李四"=>29, "王五"=>23);
while(list($key, $value) = each($arr))
echo "$key=>$value".'
';
?>
while(list($key, $value) = each($arr))
echo "$key=>$value".'
';
?>
注意while(list($key, $value) = each($arr))中each得到的4元素数组中有2个数字索引分别赋给list中2个变量。
所以
$arr = array("张三",'b'=>"李四", "王五");
list($a[0], $a[1]) = $arr;
print_r($a);//Array ( [1] => 王五 [0] => 张三 )
?>
list($a[0], $a[1]) = $arr;
print_r($a);//Array ( [1] => 王五 [0] => 张三 )
?>
6.多维数组
$a = array();
$a['山东'][0] = "济南";
$a['山东'][1] = "威海";
$a['黑龙江'][0] = "哈尔滨";
$a['黑龙江'][1] = "齐齐哈尔";
foreach ($a as $key1=>$v1) {
??echo "$key1".'
';
????????foreach ($v1 as $v2) {
????????????????echo "$v2 \n";
????????}
????????echo '
';
}
?>
$a['山东'][0] = "济南";
$a['山东'][1] = "威海";
$a['黑龙江'][0] = "哈尔滨";
$a['黑龙江'][1] = "齐齐哈尔";
foreach ($a as $key1=>$v1) {
??echo "$key1".'
';
????????foreach ($v1 as $v2) {
????????????????echo "$v2 \n";
????????}
????????echo '
';
}
?>
7.数组函数
key取键值
$arr = array(
????????'张三' => '济南',
????????'李四' => '烟台',
????????'王五' => '威海',
????????'赵六' => '北京',
????????);
while ($person = current($arr)) {
????????if ($person == '威海') {
????????????????echo key($arr).'
';
????????}
????????next($arr);
}
?>
????????'张三' => '济南',
????????'李四' => '烟台',
????????'王五' => '威海',
????????'赵六' => '北京',
????????);
while ($person = current($arr)) {
????????if ($person == '威海') {
????????????????echo key($arr).'
';
????????}
????????next($arr);
}
?>
上面会得到 '王五',但是如果烟台为 ""空串,则程序执行到这里会跳出循环,空串转成false。
用for实现foreach效果:
$arr = array(
????????'百度' => 'http://www.baidu.com',
????????'谷歌' => 'http://www.google.com.hk',
????????'400电话' => 'http://www.my400800.cn',
????????'bing' => 'http://cn.bing.com',
????????);
for(reset($arr);$key=key($arr);next($arr))
echo $key.'
';
?>
????????'百度' => 'http://www.baidu.com',
????????'谷歌' => 'http://www.google.com.hk',
????????'400电话' => 'http://www.my400800.cn',
????????'bing' => 'http://cn.bing.com',
????????);
for(reset($arr);$key=key($arr);next($arr))
echo $key.'
';
?>
这个问题同上,如果某个键值计算为false也会跳出循环。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
推荐阅读
-
我们可以使用Phalanger创建组合.NET和PHP的解决方案
-
php生成数组的使用示例 php全组合算法
-
php生成数组的使用示例 php全组合算法
-
php中使用key,value,current,next和prev函数遍历数组的方法
-
解决vuejs 使用value in list 循环遍历数组出现警告的问题
-
php的array数组和使用实例简明教程(容易理解)
-
不能使用for循环,传入n和m,生成一个长度为n,每一项都是m的数组
-
php笔记之:php函数range() round()和list()的使用说明
-
在PHP中灵活使用foreach+list处理多维数组的方法
-
python的分支和循环list使用
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论