2015-01-13 10 views
0
Array ( 
[0] => Array ([address] => New York [address_flag] => 0) 
[1] => Array ([address] => London [address_flag] => 1) 

的值可以說我有上面這個數組,address 1將永遠存在,而address 2可以爲空我怎麼能得到的address 2的值,如果它是可用的;怎麼能我告訴address 2是否爲空?多維數組告訴我們,如果一個使用基於標誌

我得到他們的價值像這樣

foreach (address() as $value) { 

echo $value['address'] 

} 

UPDATE

我想使用的地址與標誌0只有當與標誌1地址不available..how做去呢?任何主意讚賞

+0

你的'address()'應該是一個函數嗎? – Rasclatt

+1

你只是指'if(isset($ value ['address']))? –

+1

if(count($ address)> 1){echo $ address [1];} – user3040610

回答

1
<?php 

function address(){ 

$a = array(array ("address" => "New York", "address_flag" => 0), 
      array ("address" => "London", "address_flag" => 1), 
      array ("address" => "Amsterdam","address_flag" => 1), 
      array ("address" => null,  "address_flag" => null)); 

return $a; 
} 

$address = ''; 
$grouped_by_zero = array(); 
$grouped_by_one = array(); 
$array = address(); 

for ($i=0, $max = count($array); $i < $max; $i++){ 
    foreach($array[$i] as $key => $value) { 
     if ($key == "address") { 
     $address = $value; 
     }  
     if ($key == "address_flag"){ 
      if ($value === 0){ 
      array_push($grouped_by_zero,$address); 
      } else if ($value === 1) { 
       array_push($grouped_by_one,$address); 
      } 
     }// end outer if  
    }// end foreach 
}// end for 

foreach($grouped_by_zero as $item){ 
    echo $item . "\n"; 
} 
echo "\n"; 
foreach($grouped_by_one as $item){ 
    echo $item . "\n"; 
} 
//output: 

New York 

London 
Amsterdam 

現場演示:http://3v4l.org/3utBH

通過使用恆等算子===,空值被排除在外;只接受與0或1相同的值。

+0

你的代碼有點複雜,你可以告訴我,如果標誌是1,如果標誌爲0,則顯示地址爲1地址爲0? –

+0

好吧我修改了代碼 - 我希望這有助於。 – slevy1

+0

好的,我想我有一個想法 - 請稍等。 – slevy1

1

您可以使用issetis_null。例如: -

foreach (address() as $value) { 

    echo isset($value['address']) ? $value['address'] : ""; 
    echo isset($value['address_flag']) ? $value['address_flag'] : ""; 

} 
+0

我可以告訴address_flag是1還是0? –

+1

你可以檢查條件。 –

相關問題