我有以下数组
Array
(
[0] => Array
(
[0] => Contact Number
[1] => 35443545
)
[1] => Array
(
[0] => Address
[1] => vvvv
)
)
我想显示为
Contact Number
35443545
<hr>
Address
vvvv
我的代码
foreach($address_box_content as $k=>$address)
{
echo '<h2>'.$address[$k].'</h2><p>'.$address[$k+1].'</p>';
}
但由于某种原因,它会打印前两行,然后显示一个通知&#39; Undefined offset:2&#39;
答案 0 :(得分:2)
你拥有的是一个阵列。一个元素是(也)数组。您存储的每个数组都有2个元素,0和1。
循环时,$k
是主(外部)数组的索引。它的值在内部数组中没有任何意义。您只需要遍历外部数组,并打印内部数组中的0
和1
元素。
foreach($address_box_content as $address)
{
echo '<h2>'.$address[0].'</h2><p>'.$address[1].'</p>';
}
答案 1 :(得分:2)
嗯,您正在获取未定义的偏移量错误,因为您正在使用$ k,这是外部数组的索引
您可以执行以下操作:
foreach($address_box_content as $addresses){
foreach($addresses as $address){
echo '<h2>', $address, '</h2><p>', $address, '</p>';
}
}
如果你想得到内部数组的索引:
foreach($address_box_content as $addresses){
foreach($addresses as $key => $address){
echo '<h2>', $address[$key], '</h2><p>', $address[$key], '</p>';
}
}
答案 2 :(得分:1)
This is your array
$data = Array
(
[0] => Array
(
[0] => Contact Number
[1] => 35443545
)
[1] => Array
(
[0] => Address
[1] => vvvv
)
)
simple way to print array
for($i=0;$<count($data);$i++)
{
echo "<h2>".$data[$i][$0]."</h2>"."<p>".$value[$i][1]."</p>"."<hr />";
}
答案 3 :(得分:0)
好吧,对于每个元素,您定义一个键和一个值为$ k和$ address。
$ k将为0和1,$ address将为0和1,然后为0和1.
未定义的偏移量错误是因为你调用$ k加1,在第二次foeach迭代尝试访问位置1 + 1(2)没有找到任何东西。
你可以使用类似的东西:
foreach($address_box_content as $data => $value) {
echo "<h2>" . $value[0] . "</h2>"
. "<p>" . $value[1] . "</p>"
. "<hr />";
}