- ベストアンサー
◆配列内の値削除
いつもお世話になっています。 対象配列の中に削除したい値があります。 NG用に一応配列を作っているのですが、これを基に対象配列のNGを削除させることは可能でしょうか。 【対象配列】 ( [0] => http://aaa.hoge.jp/ [1] => http://bbb.hoge.jp/ [2] => http://ccc.hoge.jp/ [3] => http://ddd.hoge.jp/ [4] => http://eee.hoge.jp/ [5] => http://ggg.hoge.jp/ ) 【NG用配列】 ( [0] => http://bbb.hoge.jp/ [1] => http://eee.hoge.jp/ ) 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
array_diffがつかえませんか? <? $ok=Array(1,2,3,4,5); $ng=Array(1,2,4); $result = array_diff($ok, $ng); print_r($result); ?>
その他の回答 (1)
- mpx
- ベストアンサー率71% (149/209)
以下に簡単な例を示します <?php $a = array( 'http://aaa.hoge.jp/', 'http://bbb.hoge.jp/', 'http://ccc.hoge.jp/', 'http://ddd.hoge.jp/', 'http://eee.hoge.jp/', 'http://ggg.hoge.jp/' ); $ng = array( 'http://bbb.hoge.jp/', 'http://eee.hoge.jp/' ); // ここからが実行スクリプト $a1=array_flip($a); foreach($ng as $val){unset($a1[$val]);}; $a=array_flip($a1); // 結果表示 print_r($a); ?>
補足
出来ました、ありがとございます。 ちなみに実行速度やその他を考慮した場合、下の方と比べてどちらがスマートな方法なのでしょうか? 締め切る前に参考意見などありましたら。