将空元素推入PHP数组

时间:2016-06-02 10:02:02

标签: php arrays

所以我有一个名为'tags'的PHP数组,它正在填充我从模型中获得的对象。我需要再将一个元素推入这个数组,该数组应该是一个空字符串。现在我的代码如下:

$tags = [];
$tags  = compact(WebsiteTag::all());
array_push($tags, '');
return $tags;

结果我得到一个数组,其中唯一的元素是这个空字符串。如果我尝试推送一些实际的字符串,也会发生同样的情况 - 只是这个字符串保留在数组中。我也试过创建一个像:

这样的数组
$tags = [];
array_push($tags, compact(WebsiteTag::all()), '');
return $tags;

array_push($tags, WebsiteTag::all(), '');

$tags = array(WebsiteTag::all(), '');

但在这些情况下,我得到一个包含两个元素的数组,其中第一个是带有对象的数组,第二个是我的空字符串。 是否可以创建不同类型元素的数组?如果是的话,我应该如何正确推送它们?

3 个答案:

答案 0 :(得分:2)

我无法确定WebsiteTag::all()返回的是什么,但我认为结果是一系列标记。所以我要做的就是这两个选项之一:

$tags = WebsiteTags::all();
$tags[] = '';

// Or
$tags = array_merge(WebsiteTags::all(), array(''));

答案 1 :(得分:2)

如果WebsiteTag :: all()返回一个数组,你可以简单地将它们合并在一起:

$tags = array_merge(WebsiteTag::all(), ['']);

有关详细信息,请参阅array_merge()的文档

答案 2 :(得分:0)

我通过以下方式得到它:

$website_tags = [];
$tags  = WebsiteTag::all();
foreach ($tags as $tag) {
    array_push($website_tags, $tag);
}
array_push($website_tags, '');