$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 "存在此键值"."<br />"; }else{ echo "没有此键值"."<br />"; }}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);
版主方法最简单,谢谢各位~~