döngü değişken isimleri için php

5 Cevap php

i got a code of 100-200 rules for making a table. but the whole time is happening the same. i got a variable $xm3, then i make a column . next row, i got $xm2 and make column. next row, i got $xm1 and make column.

yani benim değişkenleri $ XM3, $ XM2, $ xm1, $ xm0, $ Xp1 $ XP2, $ XP3 olacak.

Bir forloop yapmak için bir yol yüzden gelen döngü için? bir değer $ xm doldurmak ve bundan sonra olabilir var

5 Cevap

Bu ne soruyorsun tam olarak belli değil, ama ne yapabilirim

$xm = 'xm3';
$$xm // same as $xm3

PHP, bu yüzden olabildiğince benzer adlarla değişkenler döngü. (Hangi bir dizi kullanarak. Yapmanız gerektiği anlamına gelmez genellikle üstün bir alternatiftir.)

Yapısı bu tür size değerlerin bu tür için bir dizi kullanarak daha iyi olabilir, ama bir döngü onları geçmek yapmak istiyorsanız ediyorum:

for($i = 0; $i <= 3; $i++) {
    $var = 'xm' . $i
    $$var; //make column stuff, first time this will be xm0, then xm1, etc.

}

Bildiğim kadarıyla farkında olarak farklı değişken isimleri kullanarak mümkün değildir.

Ancak bunu aşağıdaki gibi diziler kullanıyorsa

$xm[3] = "";
$xm[2] = "";
$xm[1] = "";
$xm[0] = "";

ya da sadece $xm[] = "";

Sonra her bir döngü için kullanabilirsiniz:

foreach($xm as $v) { echo $v; }

Düzenleme: Sadece Googled ve bu değişken adlarını kullanarak mümkündür ama kötü uygulama olarak kabul edilir. Öğrenin ve diziler kullanın!

Değişken değişkenleri kullanarak bunu yapabilirsiniz, ancak genellikle bunun yerine bir dizide bu tür bir şey yapsak daha iyi.

Eğer olumlu iseniz bu şekilde yapmak istiyorum, ve 'y' daki sayaç değeri ise döngü için:

${'xm' . $y} = $someValue;

Kolayca böyle bir şey yapabilirsiniz:

$base_variable = 'xm';

and then you can make a loop creating on the fly the variables; for example:

for ($i=0; $i<10; $i++)
{
  $def_variable = $base_variable . $i;
  $$def_variable = 'value'; //this is equivalent to $xm0 = 'value'
}