在 PHP 中获取值不为 NULL 的数组的键

Joh*_*eth 2 php arrays

我在 PHP 中有一个关联数组

$a = array("d1" => "data", "d2" => NULL, "d3" => "data")
Run Code Online (Sandbox Code Playgroud)

我想获取所有非 NULL 的键和所有值,以便内爆它们:

// e.g.:
$sub_key    = array_keys($a, keys != NULL);
$sub_values = array_values($a, values != NULL);

echo "`".implode("`,`", $sub_key)."`";
echo "'".implode("','", $sub_key)."'";
Run Code Online (Sandbox Code Playgroud)

是否有类似array_keys()array_values()允许仅采用与模式匹配的值的函数?

cha*_*ool 5

在使用 array_keys 之前使用array_filter并像这样过滤数组

$newArray = array_filter($a);
Run Code Online (Sandbox Code Playgroud)

然后做

$sub_key    = array_keys($newArray);
$sub_values = array_values($newArray);
Run Code Online (Sandbox Code Playgroud)

  • 小心,这也会删除 FALSE、空字符串、零等值。 (3认同)