PHP: Değişken Kapsamı Soru / başvuruda Değişkenler

2 Cevap
<?php
function table() {
   ot();
   for($x=0; $x<$rows; $x++) {  
   table_row($x);
}
   ct();
}
?>

Notice: Undefined variable: rows in .../scratch.php on line 12

Merhaba,

$ Satır yerel olarak tanımlanmış değildir, çünkü bu işlev bir hata veriyor. Ben "('includes.php') içerir" üzerinden başvurulan başka bir php komut değişken $ satırları tanımlamak bu komut dosyası üstünde.

Nasıl bu işlevi değişken $ satır geçmek veya "referans" mı? Anlayacağınız gibi, ben hala PHP öğrenme yaşıyorum ve herhangi bir yardım büyük beğeni topluyor!

thx,

2 Cevap

Bu gibi işlevi tanımlayın:

function table($rows) {
   ot();
   for($x=0; $x<$rows; $x++) {  
   table_row($x);
}

Ve sonra bu gibi diyoruz:

table($rows);

$rows değişkeni arama komut tanımlanır.

Diğer seçenek yapabileceğiniz bu durumda $rows global bir değişken yapmak olacaktır:

function table() {
    global $rows;
    //etc
}

Bununla birlikte, küresel değişkenler mümkün olduğunda kaçınılmalıdır, bu yüzden hala ilk yöntemi tavsiye ederim.

Eğer fonksiyonu Withing genel değişkeni kullanmak istiyorsanız explicity bunu bildirmek gerekir.

<?php
function table() {
    global $rows;
    for($x = 0; $x < $rows; $x++) {
        table_row($x);
    }
}

Çoğu durumda bu globalleri güvenmek iyi bir fikir değildir ve bir parametre olarak $rows geçen düşünmelisiniz.