if数组php中的语句

时间:2012-08-15 21:36:29

标签: php arrays

你能在“数组”函数中使用“if”语句吗?

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

我的问题当然属于第5行,即数组中的第4项。它似乎不想工作,是否有一种方法可以做到这一点?

4 个答案:

答案 0 :(得分:5)

你做不到。只需添加if语句。

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

if($z == 'z'){
    $my_array['ipsum'] = $ipsum;
}

答案 1 :(得分:1)

您可以使用三元运算符:

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

如果比较为null

,那么会给您一个等于false的数组元素

答案 2 :(得分:0)

我认为您不能在数组启动中放置if语句,但您可以执行以下操作:

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

答案 3 :(得分:0)

您可以使用if语句的简短版本执行此操作:

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