Bir işlev içine ön yükleme Dizi değerleri

1 Cevap

Ben doğru yapıyorum eğer) (fonksiyon defaultcoindload madeni paralar benim dizi değerlerini ön-yükleme emin değilim;

defaultcoindload();
function defaultcoindload()
{
/*Have the coin loads up to a maximum of a 1.00 dollar in value:
An associative array-ID key is associated with  value(ID is Nickels with value of 20).
$money = array("Nickels"=>20, "Dimes"=>10, "Quarters"=>10);
The array code for $money above  is  the same as the array code below,
with the difference being the structure and the ID keys can be accessed in a script*/

if ($money < 1.00)
{
echo "money";
}
else if($money = $insertcoins[$selection])
{
echo "$selection";
}


 $money['Nickels'] = "20";
 $money['Dimes'] = "10";
 $money['Quarters'] = "10";
 echo "The value of Nickels is " . $money['Nickels'] ." cents.";

Üstelik bunu yapmak için bile yasal olduğunu:

function getselection($selection,$price)
{

Orijinal fonksiyonu defaultcoinload içinde başka bir işlev veya birden fazla işlevleri vardır (), ben, sadece biraz açıklama ihtiyacı olduğunu düşünüyorum yanan için değil, teşekkür ederim.

1 Cevap

Bu güzel görünüyor. Belki tabloların sırası kafa karıştırıcı? Çoğu mühendis çağırmadan önce işlevi bildirimi yazardı. (Sen o çevrede başka bir yol var.)

Ben endişe görmek İki şey:

Bir eşitlik karşılaştırması daha mantıklı gibi görünen bir atamadır:

if ($money == $insertcoins[$selection])

Diğer $ para bu yüzden dışında gözle görülür bir değişiklik yapmaz fonksiyon içinde atama, küresel olmasıdır. İşlevin içindeki global $money ekleyerek bu sorunu gidermek.

Özetle, yerine bu deneyin:

function defaultcoindload()
{
    /* Have the coin loads up to a maximum of a 1.00 dollar in value:
     * An associative array-ID key is associated with  value (ID is Nickels with value of 20).
     * $money = array("Nickels"=>20, "Dimes"=>10, "Quarters"=>10);
     * The array code for $money above is the same as the array code below,
     * with the difference being the structure and the ID keys can be accessed in a script
     */
    global $money;

    $money['Nickels'] = 20;
    $money['Dimes']   = 10;
    $money['Quarters'] = 4;
    echo "The value of Nickels is " . $money['Nickels'] ." cents.";
}

defaultcoindload();

Ben onlar hata ayıklama için varmış gibi bakmak çok şey kaldırdık, ama bu sonra, $ para başvuruda bulunabilir.

print_r($money);  // show all the money

Tanımlamak ve düzeltmek için ben ayrılmak kalan hata.