所以我有一个名为'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(), '');
但在这些情况下,我得到一个包含两个元素的数组,其中第一个是带有对象的数组,第二个是我的空字符串。 是否可以创建不同类型元素的数组?如果是的话,我应该如何正确推送它们?
答案 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, '');