2

私は PHP が初めてで、複数のパラメーターを同じ値に設定しようとしています。私は(おそらく)醜い方法でそれをしました。

$thpic0 = "thpic_dummy";
$thpic1 = "thpic_dummy";
$thpic2 = "thpic_dummy";
$thpic3 = "thpic_dummy";
etc...
$thpic13 = "thpic_dummy";
$thpic14 = "thpic_dummy";

文字の変更はパラメーターの最後の文字のみであるため、for ループで実行できると思いましたが、これは (明らかに) 機能しません。

//Reset th sorting pics
for($i=0;$i<=14;$i++)
{
$thpic{$i} = "thpic_dummy";
}

あまりにも多くのコード行を使わずにこれを行う別の方法はありますか?

4

4 に答える 4

4

正しい構文は次${…}のとおりです$…{…}

${"thpic$i"} = ...;

が有効な構文になります。

これに関するPHPマニュアルの講義: http://php.net/language.variables.variable.php

于 2013-10-13T11:50:27.887 に答える
1

あなたの最善の策は、おそらくこれを次のような配列に入れることです:

for ($i = 0; $i <= 14; $i++) {
    $thpic[$i] = "thpic_dummy";
}

print_r($thpic);

これは次のようなものを返します: 配列

(
    [0] => thpic_dummy
    [1] => thpic_dummy
    [2] => thpic_dummy
    [3] => thpic_dummy
    [4] => thpic_dummy
    [5] => thpic_dummy
    [6] => thpic_dummy
    [7] => thpic_dummy
    [8] => thpic_dummy
    [9] => thpic_dummy
    [10] => thpic_dummy
    [11] => thpic_dummy
    [12] => thpic_dummy
    [13] => thpic_dummy
    [14] => thpic_dummy
)

次のように呼び出すことができます:

print $thpic[1]
于 2013-10-13T11:52:07.977 に答える
1

このタスクには任意の配列を使用する必要があります

$thpic = array();
for($i=0;$i<=14;$i++)
{
    $thpic[$i] = "thpic_dummy";
}

echo $thpic[1];
于 2013-10-13T11:55:15.783 に答える
0

変数 - 変数を使用して、目的を達成できます。

for($i=0;$i<=14;$i++)
{
    $variable  = 'thpic' . $i;
    $$variable = "thpic_dummy";
}

これらの詳細については、ドキュメントで読むことができます: http://php.net/manual/en/language.variables.variable.php

または、次の構文を使用できます。${"thpic" . $i} = "thpic_dummy";

于 2013-10-13T11:51:13.410 に答える