Php 如何从postdata中获取唯一值可用的键数据数组?
我想用我收到的API postdata制作一个更新数组,如下所示: Postdata:Php 如何从postdata中获取唯一值可用的键数据数组?,php,Php,我想用我收到的API postdata制作一个更新数组,如下所示: Postdata: array ( [email] => [name] => abc [number] => 12345 [address] => ); 我需要在阵列上方设置文件管理器,并需要在预期输出下方设置文件管理器: array ( [name] => abc [nu
array (
[email] =>
[name] => abc
[number] => 12345
[address] =>
);
我需要在阵列上方设置文件管理器,并需要在预期输出下方设置文件管理器:
array (
[name] => abc
[number] => 12345
);
试用
您可以使用数组过滤器删除空元素:
$array=array (
'email' => '',
'name' => abc,
'number' => 12345,
'address' =>''
);
$array=array_filter($array);
print_r($array);
对于您的问题,提交的答案是一个很好的解决方案,但是在某些情况下,您可能不想忽略/忽略数组中的“0”或0值,或者忽略所有空字符。在这种情况下,默认的array\u filter
可能会导致意外的结果
$arr = array('1','2', '3', '0');
print_r(array_filter($arr)); // Array ( [0] => 1 [1] => 2 [2] => 3 )
还有一种奇怪的情况,空字符不止一个
$arr = array('1', ' ', '2', '3', '0'); // two spaces at index 1
print_r(array_filter($arr)); // Array ( [0] => 1 [1] => [2] => 2 [3] => 3 )
因此,在这种情况下,可以借助array\u filter
方法的第二个参数。您可以传递PHP或
提供的其他内置方法名称
传递一个匿名方法
$arr = array('1', ' ', '2', '3', '0');
$arr = array_filter($arr, function($a) {
return trim($a) !== "";
});
print_r($arr); // Array ( [0] => 1 [2] => 2 [3] => 3 [4] => 0 )
$arr = array('1', ' ', '2', '3', '0');
$arr = array_filter($arr, function($a) {
return trim($a) !== "";
});
print_r($arr); // Array ( [0] => 1 [2] => 2 [3] => 3 [4] => 0 )