MyM*_*ial 3 php json array-filter array-difference
我有简单的数组
$a = ['a', '', 'b','c','d'];
Run Code Online (Sandbox Code Playgroud)
如果我对它进行 json_encode,我就会得到
["a","","b","c","d"]
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试使用array_filter或array_diff删除空值
我会有
{"0":"a","2":"b","3":"c","4":"d"}
Run Code Online (Sandbox Code Playgroud)
但我不需要对数组键进行编码,我需要一个没有空元素且没有数组键的编码数组,如何解决?
PHP沙箱示例:http://sandbox.onlinephpfunctions.com/code/91635a5df7fcd954dd64fe92089f2beadc81c3c4
尝试这个:
$a = array_values(array_filter($a));
Run Code Online (Sandbox Code Playgroud)
这会将数组的键重置为连续的。考虑数组键的工作原理:
$a = ['a', 'b']; // [0 => 'a', 1 => 'b']
unset($a[0]); // [1 => 'b']
$a = array_values($a); // [0 => 'b']
Run Code Online (Sandbox Code Playgroud)