[英]php how to use multidimensional array
我想做这样的事情
$cars = array('1', '2', '3', '4', '5', '6');
$cars = array('7', '8', '9', '10', '11', '12');
$cars = array('13', '14', '15', '16', '17', '18');
foreach ($cars as $car){
echo $car[0].'<br />';
echo $car[1].'<br />';
echo $car[2].'<br />';
echo $car[3].'<br />';
echo $car[4].'<br />';
echo $car[5].'<br />';
echo '----------------<br />';
}
得到这样的结果
1
2
3
4
5
6
----------------
7
8
9
10
11
12
----------------
13
14
15
16
17
18
我希望此代码能正常工作,但会出现类似以下错误: Notice: Uninitialized string offset: 2 in C:\\xampp\\htdocs\\....php on line 9
我已经尝试了很多东西,例如$cars = array(array('1', '2', '3', '4', '5', '6'));
但是他们都不对我有用,所以如果有人可以帮助我,请立即接触php,希望您能学到更多。
您每次都覆盖数组,而不是添加数组。
尝试这个:
$cars[] = array('1', '2', '3', '4', '5', '6');
$cars[] = array('7', '8', '9', '10', '11', '12');
$cars[] = array('13', '14', '15', '16', '17', '18');
这和
$cars = array(
array('1', '2', '3', '4', '5', '6'),
array('7', '8', '9', '10', '11', '12'),
array('13', '14', '15', '16', '17', '18')
);
您需要了解二维数组是数组的数组。
$cars1 = array('1', '2', '3', '4', '5', '6');
$cars2 = array('7', '8', '9', '10', '11', '12');
$cars3 = array('13', '14', '15', '16', '17', '18');
$cars2DArray = array($cars1, $cars2, $cars3)
foreach ($cars2DArray as $cars){
foreach($cars as $car){
echo $car.'<br>';
}
echo '----------------<br>';
}
$cars = array(
array('1', '2', '3', '4', '5', '6'),
array('7', '8', '9', '10', '11', '12'),
array('13', '14', '15', '16', '17', '18')
);
foreach ($cars as $sub) {
foreach($sub as $item) {
echo $item;
}
}
您遍历每个数组,然后遍历那些数组中的每个项目。
如果您想在每6个数字后换行,这是一个简单的解决方案。
<?php
$cars = array();
$cars= array('1', '2', '3', '4', '5', '6','7', '8', '9', '10', '11', '12','13', '14', '15', '16', '17', '18');
$c=0;
foreach($cars as $car)
{
if($c==6)
{
echo '----------------<br />';
$c=0;
}
echo $car . "<br>";
$c++;
}
?>
Uninitialized string offset
错误不是由于覆盖。
您会收到与此相同的错误:
$cars = array('1', '2', '3', '4', '5', '6');
foreach ($cars as $car){
echo $car[0].'<br />';
echo $car[1];
}
$car
不是数组,它是数组的值。
它将对$car[0]
,因为php知道如何解释唯一的值,但是$car[1]
不存在( Uninitialized
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.