2016-06-02 12 views
1

私はモデルから取得するオブジェクトでいっぱいになっている 'タグ'と呼ばれるPHP配列を持っています。そしてもう1つの要素をこの配列にプッシュする必要があります。空の文字列でなければなりません。今のところ、私のコードは次のようになります:空の要素を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(), ''); 

しかし、これらの例では、私は二つの要素、最初の1の配列を取得:私はまたのような配列を作成しようとしましたオブジェクトを持つ配列で、2番目は空の文字列です。 異なるタイプの要素の配列を作成できますか?それがあれば、どうやってそれらを正しく押しつけるべきですか?

+0

$ tags [] = '';で試してください。 –

+0

show 'var_dump(compact(WebsiteTag :: all())); – splash58

答えて

0

まあ、私は次のように実行してそれを得た:

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

を私は確信して何WebsiteTag::all()リターンを知ることはできませんが、私は結果はタグの配列だと思います。 WebsiteTagは::すべてが()配列を返す場合は、単純にそれらを一緒にマージすることができ

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

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

Upvoted、あなたはそれに私を打ち負かしました:-) – Oli

+0

@Oliちょっとだけ:D – Peter

2

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

は、詳細についてはarray_merge()のマニュアルを参照してくださいだから私はどうなるのか、これらの二つの選択肢の一つです

関連する問題