2012-05-17 34 views
0

我想要做這樣的事情,但我不知道如何:

$file="4" 
$pic="../pics/$file.jpg"; 
$sound="../sounds/$file.mp3"; 

還我會做這樣的事情

$nextpic="../pics/$file+1.jpg"; 
+1

什麼問題? – Polynomial

回答

2

第一個代碼段很好。

第二屆應該是這樣的:

$nextpic="../pics/" . ($file+1) . ".jpg"; 

或者這樣

$next_file = $file + 1; 
$nextpic="../pics/$next_file.jpg"; 
+0

工作。非常感謝... – Soner

2

如果你的文件是一個數字,PHP會將它視爲一個數字,而不管它是一個字符串還是什麼。所以你可以這樣做:

$nextpic = "../pics/".($file+1).".jpg"; 

另外,PHP的怪癖之一是它如何處理帶有數字的字符串。例如,如果你有一個文件「123lolz.jpg」,你增加它,你會得到不想要的結果。愚蠢的東西...

$file = "123lolz.jpg"; 
echo ($file+1)."\n"; // you get 124 and the rest of the file is discarded 
+0

@jprofitt感謝您指出。編輯。 – EmmanuelG

0

試試這個:

$nextpic="../pics/" . ($file+1) . ".jpg"; 

既然你加入,你需要把它拿出來的東西運算符的變量替換在字符串中不起作用。

0

PHP.net有關於when/how variables are substituted with their values in strings的完整文檔。在這種情況下,特別是:

$file="4" 
$pic="../pics/$file.jpg"; 
$sound="../sounds/$file.mp3"; 

這將產生$pic = "../pics/4.jpg"$sound="../sounds/4.mp3"

$nextpic="../pics/$file+1.jpg"; 

這將產生$nextpic="../pics/4+1.jpg"。如果你想5.jpg使用這個:

$nextpic="../pics/".($file+1).".jpg";