如何从PHP中的关联数组中删除具有空键的值?

Tho*_*ens 13 php arrays associative-array

我有一个似乎是空字符串unset($array[""]);的键,但是使用不会删除键/值对.我没有看到另外一个功能可以实现我想要的功能,所以我猜测只调用一个函数会更复杂.

print_r上元素的行是[] => 1,它向我指示键是空字符串.

使用var_export,该元素列为'' => 1.

使用var_dump,该元素列为[""]=>int(1).

到目前为止,我已经尝试了所有建议的删除方法,但没有删除该元素.我曾尝试unset($array[""]);,unset($array['']);unset($array[null]);没有运气.

Lem*_*ing 24

尝试 unset($array[null]);

如果这不起作用,请通过var_exportvar_dump代替打印阵列print_r,因为这样可以查看密钥的类型.使用var_export看到PHP语法中的数据.

var_export($array);

请注意,var_export不适用于递归结构.

  • 来自http://php.net/manual/en/language.types.array.php:"使用TRUE作为键将评估为整数1作为键.使用FALSE作为键将评估为整数0作为键.使用NULL作为键将评估为空字符串.使用空字符串作为键将创建(或覆盖)具有空字符串及其值的键;" (2认同)