如果一个值在数组中,删除它。
if(in_array($a, $arr)){
从$arr中删除$a}除了foreach 外,大家有什么好的算法?

解决方案 »

  1.   

    array_search 在找到的情况下返回键名,否则返回 FALSE
    应该会比循环快点
      

  2.   

    翻了手册还有 array_keys 返回一个数组
      

  3.   

    用函数array_diff$a = array("a"=>"123","b"=>"12345","c"=>"eerr","d"=>"345","e"=>"12345");
    $b = array("del"=>"12345");
    $a = array_diff($a,$b);
    print_r($a);结果:
    Array ( [a] => 123 [c] => eerr [d] => 345 )