0

「配列」関数内に「if」ステートメントを含めることはできますか?

 $my_array = array(
    'foo' => $foo,
    'bar' => 'bar',
    'lorem' => $lorem,
    if($z == 'z'){ 'ipsum' => $ipsum }
);

私の質問はもちろん、配列の 4 番目の項目である 5 行目に関するものです。うまくいきそうにないのですが、うまくいく方法はありますか?

4

4 に答える 4

5

あなたはそれをすることはできません。if後にステートメントを追加するだけです。

$my_array = array(
    'foo' => $foo,
    'bar' => 'bar',
    'lorem' => $lorem
);

if($z == 'z'){
    $my_array['ipsum'] = $ipsum;
}
于 2012-08-15T21:38:26.740 に答える
1

三項演算子を使用できます。

$my_array = array(
    'foo' => $foo,
    'bar' => 'bar',
    'lorem' => $lorem,
    'ipsum' => ($z == 'z') ? $ipsum : null
);

nullこれにより、比較が次の場合と等しい配列要素が得られます。false

于 2012-08-15T21:40:15.960 に答える
0

配列の開始にifステートメントを入れることはできないと思いますが、次のことはできます。

$my_array = array(
    'foo' => $foo,
    'bar' => 'bar',
    'lorem' => $lorem,
);
if($z == 'z'){ $my_array['ipsum'] = $ipsum; }
于 2012-08-15T21:38:29.973 に答える
0

これは、ifステートメントの短いバージョンで実行できます。

$my_array = array(
    'foo' => $foo,
    'bar' => 'bar',
    'lorem' => $lorem,
    'ipsum' => $z == 'z' ? $ipsum : null
);
于 2012-08-15T21:42:09.187 に答える