基本的php问题我认为答案将涉及数组

时间:2009-09-09 23:07:31

标签: php arrays

我想创建一个执行此操作的条件if语句

if($get_['b']=="1") {

$offer1a=$offer1XXX;
$offer1e=$offer1YYY;

$offer2a=$offer2XXX;
$offer2e=$offer2YYY;

$offer3a=$offer3XXX;
$offer3e=$offer3YYY;

$offer4a=$offer4XXX;
$offer4e=$offer4YYY;

}

一路提供#12。写出来似乎很多。还有其他一些值,比如$ offer1b,我想要独自留下。什么是最好的方法。我认为是一个阵列,但我不清楚如何完成它。

3 个答案:

答案 0 :(得分:1)

我确信还有一千多个优化,但要按字面意思做你所要求的,你可以使用for循环:

if ($_GET['b'] == 1) {
  for ($k = 1; $k <= 12; $k++) {
    ${"offer${k}a"} = ${"offer${k}XXXX"};
    ${"offer${k}e"} = ${"offer${k}YYYY"};
  }
}

更好的解决方案是使用数组而不是所有这些单独的变量:

for ($k = 1; $k <= 12; $k++) {
  $offers[$k]['a'] = $offers[$k]['XXXX'];
  $offers[$k]['e'] = $offers[$k]['YYYY'];
}

答案 1 :(得分:0)

如果您要将$offer更改为数组,则可以执行以下操作:

if ($get_['b'] == "1") {
    for ($i = 1; i <= 12; i++) {
        $offer[$i]['a'] = $offer[$i]['XXX'];
        $offer[$i]['e'] = $offer[$i]['YYY'];
    }
}

答案 2 :(得分:0)

阵列是你的朋友:

for ($i = 1; $i <= 12; ++$i) {
    $offer[$i]['a'] = $offer[$i]['XXX'];
    $offer[$i]['e'] = $offer[$i]['YYY'];
}

在没有看到最初如何填充商品变量的情况下,我无能为力。也许是这样的:

$offer = array(
    1 => array(
       'a' => "something",
       'b' => "somethingElse",
        'XXX' => "blah",
        'YYY' => "foo"  
    ),
    array(
        'a' => '...'
    )
);