我想创建一个执行此操作的条件if语句
if($get_['b']=="1") {
$offer1a=$offer1XXX;
$offer1e=$offer1YYY;
$offer2a=$offer2XXX;
$offer2e=$offer2YYY;
$offer3a=$offer3XXX;
$offer3e=$offer3YYY;
$offer4a=$offer4XXX;
$offer4e=$offer4YYY;
}
一路提供#12。写出来似乎很多。还有其他一些值,比如$ offer1b,我想要独自留下。什么是最好的方法。我认为是一个阵列,但我不清楚如何完成它。
答案 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' => '...'
)
);