PHP array_merge如果不为空

Dav*_*vid 13 php arrays sorting

尝试合并4个数组,但某些数组在某些时候可能是空的.

$array_1 = array('something1', something2);
$array_2 = array('something3', something4);
$array_3 = array();
$array_4 = array('something1', something2);

$list = array_merge($array_1,$array_2,$array_3,$array_4);

print_r($list);
Run Code Online (Sandbox Code Playgroud)

但如果其中一个数组为空,则会出错.我一直在谷歌搜索,但我找不到一个简单的答案,如何在合并之前检查空数组.

参数#2不是数组

或者哪个数组为空是参数编号.如何在合并之前去除空数组?

Abr*_*ver 17

空数组没有错误.如果arg不是数组,则只有一个错误.

你可以检查is_array()或:

$list = array_merge(
(array)$array_1,
(array)$array_2,
(array)$array_3,
(array)$array_4
);
Run Code Online (Sandbox Code Playgroud)


Mig*_*ork 15

好的,你去,这应该做的伎俩(如果你创建初始数组的数组):

$arrs = array();

$arrs[] = array('something1', something2);
$arrs[] = array('something3', something4);
$arrs[] = array();
$arrs[] = array('something1', something2);

$list = array();

foreach($arrs as $arr) {
    if(is_array($arr)) {
        $list = array_merge($list, $arr);
    }
}

print_r($list);
Run Code Online (Sandbox Code Playgroud)


Yad*_*ada 5

数组合并支持空数组()

文件:

Example #3 简单的 array_merge() 示例 http://us1.php.net/array_merge

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

Result
Array
(
    [0] => data
)
Run Code Online (Sandbox Code Playgroud)

您会收到通知,因为 something2、something4 应该被引用为字符串或 $ 作为变量。

PHP Notice:  Use of undefined constant something2 - assumed 'something2' 
Run Code Online (Sandbox Code Playgroud)