$res 配列、print_r($res); ステートメントを使用して出力します:
Array ( [0] => Array ( [tagname] => KF_FIC01341.TOTALIZERA_2.PV [units] => KNm3 [value] = > 0 ) [1] => Array ( [タグ名] => KF_FIC01342.TOTALIZERA_4.PV [単位] => KNm3 [値] => 0 ) )
array_key_exists("value",$res );ステートメントは false を返します。よく調べてみると、$res 配列は 0 と 1 の 2 つのキー名を持つ多次元配列であり、値がないため false が返されます。
それでは、$res 配列に値キーがあるかどうかを確認するにはどうすればよいでしょうか?多次元配列のコードを記述するにはどうすればよいですか?
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);
モデレータの方法が最も簡単です、ありがとう~~