代码之家  ›  专栏  ›  技术社区  ›  Trufa

用php设置数组后有条件地赋值

  •  0
  • Trufa  · 技术社区  · 14 年前

    如果我想这样做:

    <?php
    
    $numbers = array(
    
        "a_pos" => 0,
        "b_pos" => 2,
        "c_pos" => 3
    
        );
    
    
    if ($numbers["a_pos"] == 0)
        $a_pos_txt = TRUE;
    
    if ($numbers["b_pos"] == 0)
        $b_pos_txt = TRUE;
    
    if ($numbers["c_pos"] == 0)
        $c_pos_txt = TRUE;
    
    ?>
    

    (只需分配 TRUE $a_pos_txt 因为它等于 0 )

    这样做的明智方法是什么?我相信一定有一种方法可以做到“一步到位”。

    事先谢谢!!

    请要求澄清。

    2 回复  |  直到 14 年前
        1
  •  3
  •   enobrev    14 年前

    不太确定你想要完成什么,因为总的来说可能有更好的方法,但是为了回答你的问题,你可以跳过 if 这样的陈述:

    $a_pos_txt = $numbers["a_pos"] == 0;
    $b_pos_txt = $numbers["b_pos"] == 0;
    $c_pos_txt = $numbers["c_pos"] == 0;
    
        2
  •  2
  •   ajreal    14 年前

    如果 $数字 是一个数组,你可以做一个循环来避免重复类似的模式,
    例如

    foreach ($numbers as $key=>$val)
    {
      if ($val==0)
      {
        ${$key."_txt"}=true;
      }
    }