批改状态:合格
老师批语:还不错
以下都是创建/定义一个数组的方式
$goods=['J20','战斗机',9999];
$goods=[0=>'J20',1=>'战斗机',2=>9999];
$arr=[];$arr[]=10;$arr[]='小明';$arr[]='male';$arr[]=20;
$duanyu=array('id'=>'20','name'=>'duanyu','age'=>'26');
$arr2=[];$arr2['id']=20;$arr2['name']='小红';$arr2['age']='18';

$arr3=[0=>['id'=>10,'name'=>'乔峰','age'=>30],1=>['id'=>20,'name'=>'段誉','age'=>28],2=>['id'=>30,'name'=>'虚竹','age'=>26]];/*可以简写为$arr3=[['id'=>10,'name'=>'乔峰','age'=>30],['id'=>20,'name'=>'段誉','age'=>28],['id'=>30,'name'=>'虚竹','age'=>26]];*/printf('<pre>%s</pre>',print_r($arr3,true));echo $arr3[1]['name'];


$arr=['id'=>10,'name'=>'段誉','age'=>26,'sex'=>'男'];//current 获取指针当前位置的数组元素的值//key 获取指针当前位置的数组元素的键//访问完成后指针自动后移printf ('[\'%s\']=>%s<br>',key($arr),current($arr));next($arr); //手动移动指针后移printf ('[\'%s\']=>%s<br>',key($arr),current($arr));prev($arr);//向前移动printf ('[\'%s\']=>%s<br>',key($arr),current($arr));end($arr);//直接到最后一个元素printf ('[\'%s\']=>%s<br>',key($arr),current($arr));next($arr); //手动移动指针后移printf ('[\'%s\']=>%s<br>',key($arr),current($arr)); //没值了,reset($arr); //指针复位printf ('[\'%s\']=>%s<br>',key($arr),current($arr));

$arr=['id'=>10,'name'=>'段誉','age'=>26,'sex'=>'男'];while(true) //while(current($arr)){ printf('[\'%s\']=>%s<br>',key($arr),current($arr));if(next($arr)){continue;}else{break;}};

for($i=0;$i<count($arr);$i++){ printf('[\'%s\']=>%s<br>',key($arr),current($arr));next($arr);}

foreach(数组变量 as key键 => 值) 输出,不用指针复位,自动后移。
reset($arr);foreach($arr as $key=>$value ){//如果用不到key的话,可以删除//printf ('[\'%s\']=>%s<br>',$key,$value);echo "['{$key}']=>{$value}<br>";}

$arr2=['id'=>10,'name'=>'段誉','age'=>26,'sex'=>'男','wife'=>['木婉清','钟灵','王语嫣',]];foreach($arr2 as $key=>$value ){echo is_array($value)? print_r($value,true) : "['{$key}']=>".$value.'<br>';}echo '<hr>';

$arr3=[];$arr3[]=['id'=>10,'name'=>'乔峰','age'=>30];$arr3[]=['id'=>20,'name'=>'段誉','age'=>28];$arr3[]=['id'=>30,'name'=>'虚竹','age'=>26];// print_r($arr3);foreach($arr3 as $user ){foreach($user as $key=>$value ){echo "['{$key}']=>{$value}<br>";}}

foreach($arr3 as $user ){printf('id=%s,姓名=%s,年龄=%d',$user['id'],$user['name'],$user['age']);echo '<br>';}

数据不多 用结构输出。
$arr3=[];$arr3[]=['id'=>10,'name'=>'乔峰','age'=>30];$arr3[]=['id'=>20,'name'=>'段誉','age'=>28];$arr3[]=['id'=>30,'name'=>'虚竹','age'=>26];// list('id'=>$id,'name'=>$name,'age'=>$age)=['id'=>10,'name'=>'乔峰','age'=>30]; //前后格式对应// echo $id,$name,$age;echo '<hr>';foreach($arr3 as list('id'=>$id,'name'=>$name,'age'=>$age) ){printf('id号=%s,姓名=%s,年龄=%d',$id,$name,$age);echo '<br>';}


数组定义有多种方式,根据实际情况使用不同的方式。遍历时优先使用foreach方式和list解析。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号