0

私はこのようなことをしたいのですが、方法がわかりません:

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

また、私はこのようなことをします

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

4 に答える 4

2

ファイルが数値の場合、PHP はそれが文字列であるかどうかに関係なく、数値として扱います。したがって、次のことができます。

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

余談ですが、PHP の癖の 1 つは、数値を含む文字列の処理方法です。たとえば、「123lolz.jpg」というファイルをインクリメントすると、望ましくない結果が得られます。ばかげたもの...

$file = "123lolz.jpg";
echo ($file+1)."\n"; // you get 124 and the rest of the file is discarded 
于 2012-05-17T15:53:31.427 に答える
2

最初のコード セクションは問題ありません。

2番目は次のようになります。

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

または、このように

$next_file = $file + 1;
$nextpic="../pics/$next_file.jpg";
于 2012-05-17T15:53:45.577 に答える
0

PHP.netには、変数が文字列内の値に置き換えられるタイミング/方法に関する完全なドキュメントがあります。特にこれらの場合:

$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";
于 2012-05-17T15:55:12.503 に答える
0

これを試して:

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

何かを追加しているので、演算子による変数置換は文字列内では機能しないため、それを取り出す必要があります。

于 2012-05-17T15:53:58.133 に答える