Php 删除json_编码后的空数组元素
我有一个简单的数组Php 删除json_编码后的空数组元素,php,json,array-difference,array-filter,Php,Json,Array Difference,Array Filter,我有一个简单的数组 $a = ['a', '', 'b','c','d']; 如果我json\u encode ["a","","b","c","d"] 但是如果我尝试用array\u filter或array\u diff删除空值 我要 {"0":"a","2":"b","3":"c","4":"d"} 但是我不需要对数组键进行编码,我需要一个没有空元素和数组键的编码数组,如何求解 Php沙盒示例:尝试以下方法: $a = array_values(array_filter($a));
$a = ['a', '', 'b','c','d'];
如果我json\u encode
["a","","b","c","d"]
但是如果我尝试用array\u filter或array\u diff删除空值
我要
{"0":"a","2":"b","3":"c","4":"d"}
但是我不需要对数组键进行编码,我需要一个没有空元素和数组键的编码数组,如何求解
Php沙盒示例:尝试以下方法:
$a = array_values(array_filter($a));
这会将数组的键重置为连续键。考虑数组键是如何工作的:
$a = ['a', 'b']; // [0 => 'a', 1 => 'b']
unset($a[0]); // [1 => 'b']
$a = array_values($a); // [0 => 'b']
这将重置数组键
$a = ['a', '', 'b', 'c', 'd'];
echo json_encode(array_values(array_filter($a)));
谢谢你,很有魅力,你先回答了,所以我标记为答案