2014-06-18 104 views
-3

我想找到這個陣在全國ISO代碼:PHP的多陣列foreach循環

$countryArray = array(
     'AD' => array(
     'country_name' => 'ANDORRA', 
     'dial_code' => '376' 
     ), 
     'AE' => array(
     'country_name' => 'UNITED ARAB EMIRATES', 
     'dial_code' => '971' 
     ), 
     'AF' => array(
     'country_name' => 'AFGHANISTAN', 
     'dial_code' => '93' 
     )); 

我的條件是:

foreach($countryArray as $row){ 
    if($row->dial_code == '93'){ 
     echo $row; //??? 
    } 
} 
回聲聲明

,我想顯示AF在這個例子中。 但結果是錯誤的。

回答

0

我解決了這個問題,下面的代碼做工精細

$countryArray = array(
     'AD' => array(
     'country_name' => 'ANDORRA', 
     'dial_code' => '376' 
     ), 
     'AE' => array(
     'country_name' => 'UNITED ARAB EMIRATES', 
     'dial_code' => '971' 
     ), 
     'AF' => array(
     'country_name' => 'AFGHANISTAN', 
     'dial_code' => '93' 
     )); 

foreach ($countryArray as $keys=> $arraycountry){ 
    foreach($arraycountry as $key => $value) 
    { 
     if($value == '93'){ 
      echo $keys; //??? 
     } 
    } 
} 
+0

不錯的工作(Y)... –

3

foreach($countryArray as $key => $row){ if($row['dial_code'] == 93){ echo $key; //??? } }

試試這個,只需使用$key變量您的foreach循環內

+3

它是一個數組不是對象... – Debflav

+0

你說的沒錯,編輯。 – banditpanda

1

試試這個

foreach($countryArray as $k => $row){ 
    if($row["dial_code"] == 93){ 
     echo $k; 
    } 
} 
2

$key=>$value一對foreach語句當前關鍵要素分配給$鍵和當前值$ value。正如我們所知,foreach語句對內部指針起作用。

$countryArray = array(
    'AD' => array(
    'country_name' => 'ANDORRA', 
    'dial_code' => '376' 
    ), 
    'AE' => array(
    'country_name' => 'UNITED ARAB EMIRATES', 
    'dial_code' => '971' 
    ), 
    'AF' => array(
    'country_name' => 'AFGHANISTAN', 
    'dial_code' => '93' 
    )); 
foreach($countryArray as $key =>$value){ 
if($value['dial_code'] == 93){ 
    echo $key; 
} 

}

+0

什麼是$行..? –

+0

@VaisakhPc輸入錯誤。 –