Bir php anahtarı hakkında soru

4 Cevap

Aşağıda dizisi göz önüne alındığında, (switch içinde değişken $ maliyeti kullanın) anahtarı için bunu yapabilir mi?

Veya switch ($ burada farklı bir değişken gerekir) yok

$cost=array(chocoru =>1, oeenergy =>0.35, lemondew =>0.55, chcmyst =>0.25, drsalty =>0.75);

Anahtarı içeride $ maliyeti değişkeni $ maliyet ilişkisel dizi olarak aynı olduğunu görürsünüz.

switch($cost)
{
case 1:
echo "You chose lemondew <br />";
echo "the price is".$cost["lemondew"]'<br>';
}

4 Cevap

Hayır, bir döngü ile dizi üzerinde yinelemek zorunda.

foreach($cost as $product => $price)
{
    echo "You chose " . $product . "<br />";
    echo "the price is" . $price . '<br>';
}

Sen kendi fiyat eşleyen birleşmeli dizi ürün isimleri $cost adlı bir değişken var. Sen dizi indeksi olarak ürün adını kullanabilir, diğer herhangi bir değişken veya bir switch ifadesi için gerek yoktur:

echo "You chose $product <br />n";
echo "the price is " . $cost[$product] . "<br />n";

Bu işe yaramaz. Ilgili kod idam için anahtar ihtiyaçları değişken durum değerlerden herhangi birine eşit olmalıdır.

A switch deyimi çok if s kümesi gibidir. Örneğin:

switch ($var) {
    case 1:
        $other_var = 6;
        break;
    case 2:
        $other_var = 3;
        break;
    case 3:
        $other_var = 2;
        break;
    default:
        $other_var = 0;
        break;
}

mantıksal olarak eşdeğerdir:

if ($var == 1) {
    $other_var = 6;
}
else if ($var == 2) {
    $other_var = 3;
}
else if ($var == 3) {
    $other_var = 2;
}
else {
    $other_var = 0;
}

Yapmanız çalıştığınız ne dayalı farklı bir yapı kullanmak istiyorum.