【发布时间】:2020-01-28 14:33:55
【问题描述】:
我正在尝试创建一个数组来保存唯一包含值的数组。
下面的代码运行良好,但如果 $array2(但可以是 array1 或 array3)不包含任何值,我会遇到麻烦。在这种情况下,我只需要合并 array1 和 array3。
$array3 = array_filter( array_map( function( $term ) {
if ( ! $term = \Softing\Term::get( $term ) ) {
return false;
}
return [
'link' => $term->get_link(),
'name' => $term->get_name(),
'color' => $term->get_color(),
];
}, $terms ) );
$formatted_terms[] = array_merge($array1, $array2, $array3);
每个如果三个数组以与 $array3 相同的方式形成,但其中一些可能是空的,没有值。那些我不想合并的数组。只想从具有值的数组中创建数组。
最简单的方法是什么?
我尝试过使用
$formatted_terms[] = array_merge((array)$array1, (array)$array2, (array)$array3);
有什么建议吗?
【问题讨论】:
-
最简单的方法是什么。不知道你想问什么,除非你向我们展示输入和预期输出的例子
-
@Marko 你有多个数组 $array1,$array2,$array3,$array4 吗? (父数组)中的 $array1 - $array4 在哪里?如果它来自单个数组,我们可以使用循环。
-
我已经更新了问题@B001ᛦ
-
@DroidDev 现在请检查问题,我发布了我如何形成数组
-
如果其中一个数组为空也没有问题。另一件事是如果其中一个数组未定义或不是数组。
标签: php