Döngüsü için bu bir göz atın, ne yanlış?

1 Cevap

I $name_image1 adında çeşitli değişkenleri, $name_image2 vb (tüm nr ile biten) var.

Eğer ben burada aşağıda yapmaya çalışıyorum görebilirsiniz:

for ($i = 0; $i < $nr_of_pics; $i++){
  rename( $temp_img_path . $name_image[$i], $new_img_path . 'thumbs/'.$name_image[$i] );
}

Ben tabloların eğer sürü yapıyor atlamak istiyorum. Alışkanlık benim için işe çünkü mümkün, yukarıdaki gibi bir değişken adını değiştirmek için, bu "tanımsız değişken" diyor.

teşekkürler

1 Cevap

Ben bu "iyi tavsiye" (kesinlikle BCP) demek olmaz ise, size teslim variable variables? Var

for ($i = 1; $i <= $nr_of_pics; ++$i) {
    $image = 'name_image' . $i;
    if (!isset($$image)) continue; // error checking
    rename($temp_img_path.$$image, $new_img_path.'thumbs/'.$$image);
}

Not: Bu pasajı yerine kod başladı "0", yazınızın dedi gibi görüntü numaraları "1" de başladığını varsayım yapar; Bu durumda değilse, geri ilk satırı değiştirin:

for ($i = 0; $i < $nr_of_pics; ++$i) {

Snippet'inizde ile sorunu $name_image[$i] Eğer tanımlı değil $name_image adında bir dizi, index $i de öğeye erişmek için sözdizimi olmasıdır. Kod anda "it adını bilerek" olmadan bir değişken erişmek için tek yolu manuel olarak anlatacağım bir değişken değişken, (yani, {[(3 içeriği olan) sağdaki değişkenin içeriğini değerlendirir kullanmaktır }] [(4)]}), bir değişkenin adı gibi erişmek gerekir {içinde.

Ben burada uzun soluklu explantion göndermek için gidiyordu, ama manuel giriş iyi mantıklı olmalıdır.