使用php从自定义数组中获取值

时间:2014-07-29 13:10:03

标签: php arrays

我有以下数组

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;

4 个答案:

答案 0 :(得分:2)

你拥有的是一个阵列。一个元素是(也)数组。您存储的每个数组都有2个元素,0和1。

循环时,$k外部)数组的索引。它的值在内部数组中没有任何意义。您只需要遍历外部数组,并打印内部数组中的01元素。

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 />";

}