PHP如何从一个数组复制到另一个限制为null或空的数组

PHP如何从一个数组复制到另一个限制为null或空的数组,php,Php,所以我有一个很大的阵列,有很多选择,都是为了汽车,所以里程,声音等等 现在让我们假设我的客户机没有提供里程数,在我将这个数组发送到我的函数之前,我想确保每个元素都不是空的,那些没有被放入新数组的元素将被发送到sql插入 这是我的阵列: Array ( [year] => select [make] => Buick [model] => [engine] => [mileage] => [price] => [vin] => [att1] => [

所以我有一个很大的阵列,有很多选择,都是为了汽车,所以里程,声音等等 现在让我们假设我的客户机没有提供里程数,在我将这个数组发送到我的函数之前,我想确保每个元素都不是空的,那些没有被放入新数组的元素将被发送到sql插入

这是我的阵列:

Array ( [year] => select [make] => Buick [model] => [engine] => [mileage] => [price] => [vin] => [att1] => [att2] => [att3] => [att4] => [bodystyle] => [fuel] => [hp] => [cyl] => Select [enginesize] => L [transmission] => [shifts] => [od] => [sound] => [gps] => [sound_system] => [sradio] => [tachometer] => [clock] => [trip] => [eweather] => [digitalboard] => [drive] => [fxf] => [cruisecontrol] => [tiltsteering] => [ac] => [removabletop] => [keyless] => [airbags] => [alloy] => [trunkantitrap] => [ewindows] => [emirrors] => [eseat] => [elocks] => [antitheft] => [ledheadlights] => )
所以,如果它不是空的,我如何循环它,将它添加到一个新数组中,也就是一个集合名称和值的关联数组中


抱歉,我有点困惑

您可以使用以下命令从数组中删除空值:

但是,请注意,这将删除比较为布尔值的所有值
false
,这包括空字符串、字符串
“0”
和整数
0
。如果不想删除这些值,则必须提供对
array\u filter
的自定义回调。例如,要仅删除
null
值:

$arr = ['foo' => null, 'bar' => '0'];
$filtered = array_filter($arr, function($o) { return $o !== null; });

可以使用以下方法从数组中删除空值:

但是,请注意,这将删除比较为布尔值的所有值
false
,这包括空字符串、字符串
“0”
和整数
0
。如果不想删除这些值,则必须提供对
array\u filter
的自定义回调。例如,要仅删除
null
值:

$arr = ['foo' => null, 'bar' => '0'];
$filtered = array_filter($arr, function($o) { return $o !== null; });
试着

$new_arr = array();
foreach($my_arr as $key => $value) {
    if($value != '' && $value != NULL )
         $new_arr[$key] = $value;
} 
试着

$new_arr = array();
foreach($my_arr as $key => $value) {
    if($value != '' && $value != NULL )
         $new_arr[$key] = $value;
} 

它知道过滤后的将是一个数组吗?我不需要像
$filtered[]
这样的括号???@uillkk:是的。但是在使用之前,请自己尝试代码并阅读文档。它知道过滤后的将是一个数组吗?我不需要像
$filtered[]
这样的括号???@uillkk:是的。但请自己尝试代码,并在使用之前阅读文档。请删除
NULL
周围的引号,否则您将与字符串进行比较,而不是与
NULL
值进行比较。顺便说一句,使用
$value!=''
将用于
null
删除
null
周围的引号,否则您将与字符串进行比较,而不是与
null
值进行比较。顺便说一句,使用
$value!=''
也适用于
null