Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从postdata中获取唯一值可用的键数据数组?_Php - Fatal编程技术网

Php 如何从postdata中获取唯一值可用的键数据数组?

Php 如何从postdata中获取唯一值可用的键数据数组?,php,Php,我想用我收到的API postdata制作一个更新数组,如下所示: Postdata: array ( [email] => [name] => abc [number] => 12345 [address] => ); 我需要在阵列上方设置文件管理器,并需要在预期输出下方设置文件管理器: array ( [name] => abc [nu

我想用我收到的API postdata制作一个更新数组,如下所示:

Postdata:

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 )