• ベストアンサー

◆配列内の値削除

いつもお世話になっています。 対象配列の中に削除したい値があります。 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/ ) 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

array_diffがつかえませんか? <? $ok=Array(1,2,3,4,5); $ng=Array(1,2,4); $result = array_diff($ok, $ng); print_r($result); ?>

gogovamos
質問者

補足

出来ました、ありがとございます。 ちなみに実行速度やその他を考慮した場合、下の方と比べてどちらがスマートな方法なのでしょうか? 締め切る前に参考意見などありましたら。

その他の回答 (1)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

以下に簡単な例を示します <?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); ?>

関連するQ&A