从数组中删除多个值

MON*_*AAA 2 php arrays foreach unset

我有以下数组:

\n\n
array(5) { \n    ["destino"]=> string(11) "op_list_gen" \n    ["id_terminal"]=> string(0) "" \n    ["marca"]=> string(2) "--" \n    ["tipo"]=> string(2) "--" \n    ["lyr_content"]=> string(14) "aawaw"\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何从数组中删除值“--”空值?

\n\n

我尝试使用 foreach 并删除未设置的元素,但它 \xc2\xb4s 不起作用。

\n\n
foreach ($array as $key => $arra) {\n        if(array_key_exists(\'--\', $array)){ \n            unset($arra[$key]);\n        }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

Seb*_*sch 5

您可以使用以下方法array_filter来解决这个问题:

$arr = [
    "destino" => "op_list_gen",
    "id_terminal" => "",
    "marca" => "--",
    "tipo" => "--",
    "lyr_content" => "aawaw"
];

$newArr = array_filter($arr, function($value) {
    return !in_array($value, ['', '--']);
});
Run Code Online (Sandbox Code Playgroud)

演示: https: //ideone.com/oot7lZ