1.什么是多维数组
一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。
例:
<?php
//二维数组
$cars = array
(
array("volvo",100,96),
array("bmw",60,59),
array("toyota",110,100)
);
在这里插入代码片
2.pre标签
可以定义您需要的文本格式,比如不会取消换行和空格,并且所示文本是等宽的。
例:
<?php
//数组存放多名学生信息(学号,姓名,性别,年龄)
$arr = array(
array(1001,'张三','男',20),
array(1002,'李四','男',19),
array(1003,'王五','男',19)
);
echo '<pre>';
print_r($arr);
echo '</pre>';
在这里插入代码片
输出结果为:
`Array
(
[0] =>Array(
[0]=>1001
[1] =>张三
[2] =>男
[3] =>20
)
Array
(
[1] =>Array(
[0]=>1002
[1] =>李四
[2] =>男
[3] =>19
)
Array
(
[2] =>Array(
[0]=>1003
[1] =>王五
[2] =>男
[3] =>19
)
`
在这里插入代码片
3.遍历二维数组(双重循环)
<?php
$arr = array(
array(1001,'张三','男',20),
array(1002,'李四','男',19),
array(1003,'王五','男',19)
);
foreach($arr as $value){
//print_r($value);
foreach($value as $v){
echo $v . '<br>';
}
}
在这里插入代码片
输出为:
1001
张三
男
20
1002
李四
男
19
1003
王五
男
19
4.php中遍历多维数组的方法
<?php
function arr_foreach ($arr) {
if (!is_array ($arr)) {
return false;
}
foreach ($arr as $key => $val ) {
if (is_array ($val)) {
arr_foreach ($val);
} else {
$str .= ','.$val;
}
}
echo $str;
}
总结
PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误
当 foreach 开始执行时,数组内部的指针会自动指向第一个单元,这意味着不需要在 foreach 循环之前调用 reset()。
foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。对返回的数组单元的修改也不会影响原数组(见下面例子),但 foreach 循环运行到结束,原数组的内部指针将指向数组的结尾。