0

下面是我的数组 $arr[0] 的显示。你能告诉我如何取内部数组的值吗?

在这里,我只需要获取 ID 656 的值,即“John”。

Array
(
    [0] => xxxxxxxxx
        (
            [Users] => Array
                (
                    [0] => Array
                        (
                            [name] => 656
                            [value] => John

                        )

                    [1] => Array
                        (
                            [name] => 657
                            [value] =>Peter

                        )

                    [2] => Array
                        (
                            [name] => 658
                            [value] => Louie

                        )

                    [3] => Array
                        (
                            [name] => 659
                            [value] => Jim

                        )



                )

        )

提前致谢。

4

3 回答 3

1

尝试运行:

 foreach($arr as $key=>$value){
      var_dump($value);
 }

而且您可能可以从那里弄清楚要做什么。希望有帮助吗?

编辑:如果

$arr = array(
       0=>array(
        'Users'=>array(
            0=>array('name'=>656, 'value'=>'John'), 
            1=>array('name'=>656, 'value'=>'John'), 
            2=>array('name'=>658, 'value'=>'Louie')
            )
        )

);

然后你可以使用:

foreach($arr as $Users){
    foreach($Users as $k=>$v){
        var_dump($v[0]['value']);
    }
}

得到“约翰”。这有帮助吗?

于 2013-10-17T15:12:31.760 回答
1

如果这不仅仅是一次性的,您可以使用递归数组搜索功能。如果您的数据在 $arr 中,则采用您描述的格式:

$arr = array(array("Users"=>array(array("name"=>656,"value"=>"John"),array("name"=>657,"value"=>"Peter"))));

它可能看起来像这样:

print in_array_multi("656",$arr);
// ^-- This prints John

print in_array_multi("657",$arr);
// ^-- This prints Peter

function in_array_multi($item, $arr) {
    foreach ($arr as $key => $value) {
        if ($value==$item){
            return $arr['value'];
        } else if (is_array($value)){
            if($ret = in_array_multi($item, $value))
                 return $ret;
        }
    }
    return "";
}
于 2013-10-17T15:18:36.443 回答
0

例如:

我想你有 3 个阵列可以到达你想要的地方?array_1[0].array_2[0].array_3[0]---> 这里有你需要的信息。

所以你在 array_1 的位置 0 有 2 个数组。

for(){//to watch the first array all positions 
  for(){//top watch the second array idem
    for(){//to watch the 3 idem...
      here at teh position 0 take away the values... 
    }   
  }
}

它希望它有所帮助。

于 2013-10-17T15:15:54.537 回答