2016-12-04 9 views
-1

私は条件付きで配列要素を持つかどうか、次のようなスタイルを使用することはできません。私は一般的な意味で、これを行うことは自明であることを理解しています... 私が本当に好きなのは、ある条件に基づいて特定の要素を持たせることができないことです。PHPで配列に要素を条件付きで含めるにはどうすればよいですか?

私の質問の背後にある実際の動機は、条件付きで表示するか、[ActionColumn][1]Yii2に表示することです。しかし今、一般的な意味でもっと興味があります。

ありがとうございます!

<?php 
$middle_name = "James"; 
$full_name = [ 
    'Robert', 
    (!empty($middle_name)) ? $middle_name : 'NA', 
    'Fischer', 
]; 
?> 
+0

はこの構文でそれを行うことはできません試してみてください。後に 'if'を置くと、条件が満たされた場合にこの情報が含まれ、あらかじめ' $ middle_name'を '' NA'''に変更します。 – Havenard

+0

@Havenardフィードバックのおかげで、私はそれが事実かどうか疑問に思いました。あなたはそれを言語制限として、あるいはそのようにしてはならないものとして見ていますか? – johnsnails

+0

@ johnsnailsは、関数またはクラスを書く –

答えて

0

この

<?php 
    $middle_name = "James"; 
    $full_name[] = 'Robert'; 

    if ($middle_name == '' || $middle_name == null) { 
     $full_name[] = 'NA'; 
    } else { 
     $full_name[] = $middle_name; 
    } 

    $full_name[] = 'Fischer'; 
?> 
+0

このタイプのアプローチは認識していましたが、別の配列内の配列であるため実際に要素を設定する方法には完全には適していません。しかし、あなたが参照している一般的なアプローチについても認識しています。 – johnsnails

+0

あなたの質問にこれを追加してください – harryparkdotio

関連する問題