比如下面的数组,要删除包含abc字符的元素
Array
(
  [0] => 今天天abc气很好
  [1] => 今天天气有点好
  [2] => 今天天气abc真的很好
  [3] => 今天天气很不abc好
  [4] => 今天天气很好吧
  [5] => 今天天气不是很好)想得到的结果如下:
Array
(
  [0] => 今天天气有点好
  [1] => 今天天气很好吧
  [2] => 今天天气不是很好)请教各位应该如何实现,谢谢!

解决方案 »

  1.   


    $result=array();
    foreach($arr as $key=>$value) {
        if(strstr($value,'abc')!==false)
           $result[$key]=$value;
    }
    print_r($result);
      

  2.   


    <?php
    $str_arr = array('今天天abc气很好',
            '今天天气有点好',
            '今天天气abc真的很好',
            '今天天气很不abc好',
            '今天天气很好吧',
            '今天天气不是很好');
    $arr = null;
    foreach($str_arr as $key => $value ){
        $arr[] = str_replace('abc', '', $value);
    }
    $str_com = null;
    $str_rel = array('有点好','很好吧','不是很好');
    foreach($arr as $key1 => $value1){
        foreach($str_rel as $key2 => $value2){
            if(strpos($value1, $value2) > 0){
                $str_com[] = $value1;
            }
        }
    }print_r($str_com);?>
    贴个全的吧...反正写的有点粗糙.
      

  3.   

    $ar = array(
      '今天天abc气很好',
      '今天天气有点好',
      '今天天气abc真的很好',
      '今天天气很不abc好',
      '今天天气很好吧',
      '今天天气不是很好',
    );
    function foo($var){
        return strstr($var, 'abc');
    }foreach(array_filter($ar, 'foo') as $k=>$v) 
      unset($ar[$k]);print_r($ar);