批改状态:合格
老师批语:写的不错,list这个是一个语法糖,只要灵活运用,可以使代码变简洁,而且很优雅。
<?php//数组的定义//1.索引数组$names = ['张三','李四','王五'];//索引数组的访问echo $names[0].' '.$names[1].' '.$names[2].' '.'<br>';//2.关联数组$msg = ['id'=>001,'name'=>'张三','age'=>20];//关联数组的访问echo $msg['id'].' '.$msg['name'].' '.$msg['age'].' '.'<br>';

<?php//数组的创建//1.索引数组$car = [];$car[] = 'Audi';$car[] = 'BMW';$car[] = 'Benz';//打印输出数组信息printf('<pre>%s</pre>',print_r($car,true));//2.关联数组$msg = [];$msg['brand'] = 'Volvo';$msg['model'] = 'XC60';$msg['num'] = 82;printf('<pre>%s</pre>',print_r($msg,true));//3.多维数组$cars = [['brand'=>'Volvo', 'model'=>'XC60', 'num' => 82],['brand'=>'Audi', 'model'=>'Q5L', 'num' => 88],['brand'=>'BMW', 'model'=>'X3', 'num' => 101]];printf('<pre>%s</pre>',print_r($cars,true));//多维数组的访问echo $cars[1]['brand'];

<?php//数组的遍历$car = ['brand'=>'Audi', 'model'=>'Q5L', 'price'=>40];//1.使用指针遍历//current():获取当前元素的值//key():获取当前元素的键printf('%s => %s <br>', key($car), current($car));next($car); //next():指针往下一个移动printf('%s => %s <br>', key($car), current($car));prev($car); //prev():指针往上一个移动printf('%s => %s <br>', key($car), current($car));reset($car); //reset():指针复位 指针移到最开始位置printf('%s => %s <br>', key($car), current($car));end($car); //end():指针移到最末尾位置printf('%s => %s <br>', key($car), current($car));//2.使用while遍历echo '<hr>';reset($car); //reset():指针复位 指针移到最开始位置while(true){ //进入while循环printf('%s => %s <br>', key($car), current($car));if(next($car)) continue; //指针往下一个移动并判断是否遍历结束else break;}//3.使用for遍历echo '<hr>';reset($car); //reset():指针复位 指针移到最开始位置for($i = 0; $i < count($car); $i++){printf('%s => %s <br>', key($car), current($car));next($car); //指针往下一个移动}//4.使用foreach遍历//遍历索引数组echo '<hr>';$arr = ['hello', 'world'];foreach($arr as $value){echo $value;}//遍历关联数组echo '<hr>';foreach($car as $msg => $value){printf('%s => %s <br>', $msg, $value);}//5.使用list函数解构解析数组echo '<hr>';list('brand'=>$brand, 'model'=>$model, 'price'=>$price) = $car;echo "brand => {$brand} <br>","model => {$model} <br>","price => {$price} <br>";//使用foreach+list解析二维数组echo '<hr>';$cars = [['brand'=>'Volvo', 'model'=>'XC60', 'price' => 39],['brand'=>'Audi', 'model'=>'Q5L', 'price' => 41],['brand'=>'BMW', 'model'=>'X3', 'price' => 38]];foreach($cars as list('brand'=>$brand, 'model'=>$model, 'price'=>$price)){echo "brand => {$brand} <br>","model => {$model} <br>","price => {$price} <br>";}

foreach 不需要指针复位、不需要手动移动指针 自动后移foreach 比 while 与 for 语句更适合遍历数组list函数能直接将一组数组赋值成一堆变量
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号