2013-02-24 43 views
0

我試圖簡單地回顯所返回的重量,並做一些非常錯誤的事情。獅身人面像返回數組和重量。

下面是示例返回的數據: 陣列 ( [錯誤] => [警告] => [狀態] => 0 [領域] =>數組 ( [0] =>短語 ) [ATTRS] =>陣列 ( )

[matches] => Array 
    (
     [34] => Array 
      (
       [weight] => 1707 
       [attrs] => Array 
        (
        ) 

      ) 

    ) 

因此,這裏的工作代碼來獲取ID。這對我來說很有意義..

 if (! empty($result["matches"])) { 
     foreach ($result["matches"] as $doc => $docinfo) { 
      echo "DOC ID:$doc\n"; 
     } 

     print_r($result); 
    } 

我試圖通過使用文件編號,然後到另一個循環的foreach並獲得重..

foreach $doc as $weight { 

是不工作。我猜我做的東西與多維數組錯在這裏,但我不完全知道如何解決嵌套數組..

感謝

+0

你想從多級陣列返回'weight'參數? – tnanoba 2013-02-24 19:21:17

+0

正確。 @DaHaKa – TheEditor 2013-02-24 19:25:17

+0

不,數據結構在那裏。我只是想獲得1707的價值。 – TheEditor 2013-02-24 19:37:12

回答

1

你已經嘗試遞歸函數

$array =array(
    "matches" => array(
     array("weight"=>1707,"attrs"=>array("weight"=>100)), 
     array("weight"=>1700,"attrs"=>array("weight"=>170)), 
     array("weight"=>10,"attrs"=>array("weight"=>170,"attr"=>array("weight"=>"something other"))) 
    ) 
); 

function recurse($array){ 
    foreach ($array as $arr){ 
     if (is_array($arr)){ 
      recurse($arr); 
     } else { 
      echo $arr . "<br>"; 
     } 
    } 
} 

recurse($array); 

Note:該函數將來自任何級陣列

修訂返回每個weight參數值

如果你想輸出下面的數組只是weight參數值,試試這個

$array =array(
    "matches" => array(
     array("weight"=>1707,"attrs"=>"other param"), 
     array("weight"=>1700,"attrs"=>"something other too"), 
    ) 
); 

foreach($array['matches'] as $arr){ 
    echo $arr['weight'] . "<br>"; 
}