2013-10-17 44 views
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 

         ) 



       ) 

     ) 

在此先感謝。

回答

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']); 
    } 
} 

得到 '約翰'。這有幫助嗎?

0

例如:

我說你有3個陣列到達你想要的地方嗎? array_1 [0] .array_2 [0] .array_3 [0] --->在這裏你需要的信息。

讓你有內部array_1 2個陣列的位置0

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... 
    } 
    } 
} 

它希望它幫助。

+0

對不起,我沒有看到這是PHP的... – ZaoTaoBao

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