Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按值而不是键从多维数组中删除特定字符串_Php - Fatal编程技术网

Php 按值而不是键从多维数组中删除特定字符串

Php 按值而不是键从多维数组中删除特定字符串,php,Php,我需要从这个数组中删除Jackie Jackson,我尝试了unset(我不想使用key)、array\u diff、array\u search。没有什么对我有用 $employeeList= array( array( "ID" => "ID", "Name" => "Name", "Surname" => "Surname", ), array(

我需要从这个数组中删除Jackie Jackson,我尝试了unset(我不想使用key)、array\u diff、array\u search。没有什么对我有用

$employeeList= array(
        array(
            "ID" => "ID",
            "Name" => "Name",
            "Surname" => "Surname",
        ),
        array(
            "ID" => 1,
            "Name" => "John",
            "Surname" => "Smith",
        ),
        array(
            "ID" => 2,
            "Name" => "Jackie",
            "Surname" => "Jackson",
        ),   
        array(
            "ID" => 3,
            "Name" => "Chris",
            "Surname" => "Jones",
        ),  
        array(
            "ID" =>4,
            "Name" => "Amanda",
            "Surname" => "Cullen",
        ),   
        array(
            "ID" =>5,
            "Name" => "Jeremy",
            "Surname" => "Goodwin",
        ),  
    ); 

如果你想取消设置,你可以使用Jackie Jackson的id来匹配他的钥匙

$id = 2;
unset($employeeList[array_search($id,array_column($employeeList, "ID"))]);

玩得开心:)

数组过滤器检查姓名是否匹配。在本例中,字符串必须包含名称和姓氏,并用空格分隔,以便我们可以“分解”并分别提取它们。如果“name_to_exclude”中不存在name或姓氏,则函数将简单地返回原始数组

$name_to_exclude = "Jackie Jackson";

$exclude = explode(' ', $name_to_exclude);
$employeeList = array_filter($employeeList, function($val) use ($exclude) { 
    if(array_key_exists(0, $exclude) && array_key_exists(1, $exclude)) {
        return $val['Name'] != $exclude[0] && $val['Surname'] != $exclude[1];
    }
    return true;
});

写下您试图解决问题的内容我尝试取消设置(我不想使用密钥)、数组_diff、数组_search
array_filter($arr,function($x){return!($x[name]=='name'和…})谢谢,但我不希望使用key按字符串删除,否则我只使用unset($employeeList[2]);不过还是要感谢外展。你可以根据你想要匹配的东西来更改“ID”