Temel php sorun ben cevap diziler içerecektir düşünüyorum

3 Cevap php

Ben bunu yapar deyimi ise bir koşullu yapmak istiyorum

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

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

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

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

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

}

# 12 sunmak için tüm yol. Bir sürü yazmak gibi görünüyor. Ben yalnız bırakılmak istiyorum $ offer1b gibi diğer değerleri vardır. Bu ne için en iyi yoldur. Ben bir dizi düşünüyorum, ama ben bunu halletmek için nasıl belirsiz değilim.

3 Cevap

Ben bin optimizasyonlar vardır eminim, ama sen soruyorsun tam anlamıyla yapmak için, sizin gibi döngü için kullanabilirsiniz:

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

Daha iyi bir çözüm yerine, bütün bu bireysel değişkenlerin bir dizi kullanmak olacaktır:

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

Eğer $offer bir dizi değiştirmek için olsaydı, böyle bir şey yapabilirsiniz:

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

Diziler arkadaşınız vardır:

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

Teklif değişkenler başlangıçta doldurulur nasıl görmeden, ben çok daha fazla yardımcı olamaz. Bu gibi Belki bir şey:

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