2014-06-27 55 views
-1

我有一個數組,我想從數組中提取一些數據。這通常對我來說沒有問題,但這一次對我來說有點不同。循環槽多維數組獲得子數組的特定結果

我有這樣的陣列:

$arrParcelLabelNumber = array 
(
    "parcelLabelNumber" => array 
    (
     0 => "10", 
     1 => "20" 
    ), 
    "weight" => array 
    (
     0 => "1111", 
     1 => "2222" 
    ) 
); 

我想有以下結果: 10 = 1111, 20 = 2222

因此,這意味着我想parcelLabelNumber的值,其中所述密鑰與重量相同,我想要的重量也是相同的。

我嘗試了幾種方法,但他們都沒有工作。

新代碼:

$arrParcelLabelNumber = array 
(
    "parcelLabelNumber" => array 
    (
     0 => "09988014801055", 
     1 => "09988014801056" 
    ), 
    "weight" => array 
    (
     0 => "1111", 
     1 => "2222" 
    ) 
); 

foreach($arrParcelLabelNumber as $val){ 
    foreach($val['parcelLabelNumber'] as $key=>$v){ 
     echo $val['weight'][$key] . "=" . $v; 
     } 
} 

回答

1

你也可以做一個簡單的:

$c = count($arrParcelLabelNumber["parcelLabelNumber"]); 

for ($i = 0; $i< $c; $i++) 
{ 
    if(isset($arrParcelLabelNumber["parcelLabelNumber"][$i]) && isset($arrParcelLabelNumber["weight"][$i])){ 
     echo $arrParcelLabelNumber["parcelLabelNumber"][$i] . " = " . $arrParcelLabelNumber["weight"][$i]; 
    } 
} 
+0

感謝這一個工作後,我改變$ C++到$ i ++中,否則你得到一個無限循環:P – user3734231

1
foreach($arrParcelLabelNumber as $val){ 
    foreach($val['parcelLabelNumber'] as $key=>$v){ 
     echo $val['weight'][$key] . "=" . $v; 
     } 

} 

或者,如果你想將它們存儲爲鍵值對檢索...

$newarray=array(); 
foreach($arrParcelLabelNumber as $val){ 
    foreach($val['parcelLabelNumber'] as $key=>$v){ 
     $newarray[$val['weight'][$key]] = $v; 
    } 
} 
var_dump($newarray); 

或作爲數組一對...

$newarray=array(); 
foreach($arrParcelLabelNumber as $val){ 
    foreach($val['parcelLabelNumber'] as $key=>$v){ 
     $newarray[]=array('parcelLabelNumber'=>$v,'weight'=> $val['weight'][$key]); 

    } 
} 
+0

我得到一個錯誤:爲提供的foreach()是在第二的foreach – user3734231

+0

當然你做什麼,嘗試通過函數在使用前閱讀無效參數...你會看到'$應該使用'$ key'時使用k'。 –

+0

@大衛尼斯趕上....我的壞:) – KyleK