HOME > PHP> 配列

in_arrayの代わり

 配列の中に値があるかチェックするのに in_array()関数を使っていたが、処理に時間がかかりすぎる。
array_key_existsを使うようにする。
keyを調べる関数なので、array_flipでkeyと値を逆にし、keyを検索する。

array_key_exists ( $キー名 , $配列名 )


$arr = array(10,55,60);
if(array_key_exists( $id, array_flip($arr))){
}

array_intersect() //複数の配列の中の共通の値を確認する

配列同士を比較し、共通のものがふくまれているか確認したい場合、array_intersect関数を使うほうが楽。そのcountが0でない場合は、OKとなる。

$add_ok = array('administrator','kansa', 'soumu'); //新規登録出来る人
if(count(array_intersect($user_roles, $add_ok)) !=0){
//			if(in_array($user_id, $edit_all)){ 
?>