为什么提示我 while这块有问题啊,实在是看不出哪里有问题

为什么提示我 while这块有问题啊,实在是看不出哪里有问题

<?php
//定义数组
$num=array(
    	'cardinal'=>['one','two','three','four','five','six'],
		'ordinal'=>['first','second','third','fourth','fifth','sixth']
	);
//请在这里使用foreach遍历数组
print_r($num);
echo "<hr>";
 foreach($num as $var ){
     foreach($var as $jz=>$cy){
         echo $jz."==>".$cy,"<br>";
     };
     
 };
 reset($num); 
echo "<hr>"
//请在这里使用while,each,list组合遍历数组
while(list($r,$c)=each($num)){
	echo $r,'==>',$c;
};

为什么提示我 while这块有问题啊,实在是看不出哪里有问题

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕查理 2019-03-07 14:25:03

您好,1.注意foreach不需要;结束。echo语句需要使用;结束。

2.while循环中$c是数组,因此使用echo输出时报错。$num变量是二维数组,需要嵌套while循环。

修改如下:

<?php
//定义数组
$num=array(
    'cardinal'=>['one','two','three','four','five','six'],
    'ordinal'=>['first','second','third','fourth','fifth','sixth']
);
//请在这里使用foreach遍历数组
print_r($num);
echo "<hr>";
foreach($num as $var ){
    foreach($var as $jz=>$cy){
        echo $jz."==>".$cy,"<br>";
    }
}
reset($num);
echo "<hr>";
//请在这里使用while,each,list组合遍历数组
while(list($r,$c)=each($num)){
    while(list($k1,$v1)=each($c)){
        echo $k1.'==>'.$v1."<br/>";
    }
}

祝学习愉快!

  • list($r,$c)=each($num) 是用来做判断吗?先把each($num)赋值给list($r,$c) 然后while()判断有值可以继续做循环,这时候指针往下走。 请问这样理解对吗?
    2019-03-18 13:51:41
  • 您好,是的哦~祝学习愉快!
    2019-03-18 14:55:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师