Bu kod küçük bir parça ile bazı hızlı yardım

2 Cevap

Ben $ p echo zaman gelecek, nasıl Im bu döngü kullanarak almaya çalışırken değişken yolunda görüntülenen almaz.

$name_image2="picture.jpg";
for ($i=2; $i<=$nr_of_pics; $i++){
    	$img='name_image'.$i;

echo $$img; gives me this: 'picture.jpg' which is correct. but when echoing $p like this:

   $p="/SV/main/temp_images/$$img"; echo $p;

I get this: SV/main/temp_images/name_image2 --> the variable 'name_image2' doesnt get called here, why? I want it to say: SV/main/temp_images/picture.jpg

Teşekkürler

2 Cevap

Try $p="/SV/main/temp_images/{${$img}}";

PHP dize ayrıştırma ve bir $ söz konusu olduğunda, bunun geçerli bir değişken ismi yaparsa görmek için bir sonraki karaktere bakar. Değilse, bu hamle. Bu durumda, o ikinci $ doğru yorumlandığı anlamına gelir, ama ilki zaten tarafından kabul edilmiştir. Cevap dış biridir önce işlenecek, böylece parantez içinde iç ifadeyi kapamak için.

$p = "/SV/main/temp_images/" . $$img;

Bunu düzeltmek gerek.

Ayrıca, diziler kullanmayı öğrenmek tavsiye ederim. Bunun yerine değişken değişkenlerin bir veri seti var çok daha iyi bir yoldur.