所以我有一个有大量选项的大阵列,全部用于汽车,所以里程和声音以及这个和那个 现在让我说我的客户端没有提供里程数,在我将此数组发送到我的函数之前我想确保每个元素都不是空的,那些没有被放置在一个新的数组中,这将被安排为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] => )
所以我怎么能循环这个,如果它不是空的,就把它添加到一个新的数组上,也就是一个收集名称和值的关联的
抱歉,我有点困惑答案 0 :(得分:4)
您可以使用array_filter
$arr = ['foo' => null, 'bar' => 'not null'];
$filtered = array_filter($arr); // contains just "bar" => "not null"
但请注意,这将删除所有比较等于布尔false
的值。 Among other values,包括空字符串,字符串"0"
和整数0
。如果您不想删除这些值,则必须向array_filter
提供自定义回调。例如,仅删除null
值:
$arr = ['foo' => null, 'bar' => '0'];
$filtered = array_filter($arr, function($o) { return $o !== null; });
答案 1 :(得分:1)
尝试
$new_arr = array();
foreach($my_arr as $key => $value) {
if($value != '' && $value != NULL )
$new_arr[$key] = $value;
}