<?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相同的值。
你的'address()'應該是一個函數嗎? – Rasclatt
你只是指'if(isset($ value ['address']))? –
if(count($ address)> 1){echo $ address [1];} – user3040610