###実現したいこと
下記$ok_arr
をホワイトリストとして、$arr
を比較したいです。
具体的には、$ok_arr
の中にない値が$arr
に1つでもあれば、false
を返したい。というのを実現したいと思っています。(文末に条件について補足あり)
###該当の配列
これが比較したい配列たちです。
$ok_arr = ['apple','melon']; $arr = ['apple','xxx'];
###試したこと
比較できるものを調べるうちに最も近いと感じたのがこのarray_intersect()
ですが、これでは$arr = ['apple'];
のような場合しか活用できませんでした。
今回は$arr = ['apple','xxx'];
となっていて、xxx
は$ok_arr
の中にない値なのでfalse
を返したいのですが…どう書くのがいいかご教授頂けましたら幸いです。
$ok_arr = ['apple','melon']; $arr = ['apple','xxx']; if( array_intersect( $arr, $ok_arr ) ) { $bool = true; } else{ $bool = false; } var_dump( $bool );
###補足
上では、「$ok_arr
の中にない値が$arr
に1つでもあれば、false
を返したい。」だけしか書いていませんが、「$arrに同じ値が複数あるとか、一つも存在しないとか、空だとかの場合もfalseを返したい」とも思っています。失礼致しました。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/08 00:56
2019/09/08 04:03
2019/09/08 04:49
2019/09/08 05:46
2019/09/08 07:41