$res數組,使用print_r($res);語句輸出後為:
Array ( [0] => Array ( [tagname] => KF_FIC01341.TOTALIZERA_2.PV [units] => KNm3 [value] => 0 ) [1] => Array ( [tagname] => KF_FIC01342.TOTALIZERA_4.PV [units] => KNm3 [value] => 0 ) )
在使用array_key_exists("value",$res);語句時,返回false。我仔細查看知道原因了,$res數組是多維陣列,鍵名有兩個:0、1,不存在value,所以返回了false。
那該如何判斷$res數組,有value鍵啊?就是多維陣列咋寫代碼?
回複討論(解決方案)
array_key_exists("value",$res[0])
$arr = Array ('0' => Array ( 'tagname' => 'KF_FIC01341.TOTALIZERA_2.PV','units' => 'KNm3', 'value' => 0 ) ,'1' => Array ( 'tagname' => 'KF_FIC01342.TOTALIZERA_4.PV', 'units' => 'KNm3' ,'value' => 0 ));function check_index ( $item , $key ){ if(array_key_exists("value",$item)){ echo "存在此索引值"."
"; }else{ echo "沒有此索引值"."
"; }}array_walk ( $arr , 'check_index' );
$arr=array ( 0 => array ( 'tagname' =>'KF_FIC01341.TOTALIZERA_2.PV', 'units' => 'KNm3', 'value' => 0 ),1 => array ( 'tagname' =>'KF_FIC01342.TOTALIZERA_4.PV', 'units'=> 'KNm3', 'value' => 0 ) );function my(){ $arr=func_get_args(); foreach($arr as $k=>$v){ $item=array_key_exists('value',$v); if($item) { echo '存在'; break; }else{ '不存在'; } }}call_user_func_array('my',$arr);
版主方法最簡單,謝謝各位~~