Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:还不错
以下都是创建/定义一个数组的方式
$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解析。