Remove all elements in array matching a specific string using PHP

后端 未结 2 1995
情深已故
情深已故 2021-01-04 10:00

I\'m hoping this is really simple, and I\'m missing something obvious!

I\'m trying to remove all elements in an array that match a certain string. It\'s a basic 1D a

相关标签:
2条回答
  • 2021-01-04 10:04

    You need to use a callback.

    array_filter($array, function($e){
       return stripos("Remove", $e)===false
    });
    

    To understand above code properly see this commented code.

    array_filter($array, function($e){
        if(stripos("Remove", $e)===false) // "Remove" is not found
            return true; // true to keep it.
        else
            return false; // false to filter it. 
    });
    
    0 讨论(0)
  • 2021-01-04 10:20

    You can just use array_diff here, if it's one fixed string:

    $array = array_diff($array, array("Remove"));
    

    For more complex matching, I'd use preg_grep obviously:

    $array = preg_grep("/^Remove$/i", $array, PREG_GREP_INVERT);
    // matches upper and lowercase for example
    
    0 讨论(0)
提交回复
热议问题