0

私は50以上の弦を持っています。これらの文字列を 1 つの配列に入れる必要があります。ループを使用して作成しようとしています。ただし、自動インクリメント変数の名前に問題があります。$string.$s( $string1, $string2)。未定義変数になります。var の名前を変更する方法はありますか?

$string0="ABC";
$string1="DEF";
$string2="GHI";
...


$data=array($string0, $string1, $string2...);

for($s=0; $s<50; $s++){
    $data[$s]=$string.$s;
}
4

2 に答える 2

7

いいえ

$string.$s;

しかし

${'string'.$s};

言うまでもなく、最善の解決策は次のとおりです。

$data = array(
    'ABC',
    'DEF',
    'GHI',
);

また

$data = array();
$data[] = 'ABC';
$data[] = 'DEF';
$data[] = 'GHI';

また

$data = array();
$data[0] = 'ABC';
$data[1] = 'DEF';
$data[2] = 'GHI';

エディターの機能で置き換えることもできます。

一例として、Notepad++を取り上げます。(日本語のプラグインがオンになっています、ごめんなさい)

次のように試してみましょう。 ここに画像の説明を入力

ポイント:

  • によって検索する(\$string)([0-9]+)(=)
  • に置き換えます\1[\2]\3
  • モード正規表現
于 2013-05-15T12:32:03.563 に答える
3

このようなものがうまくいくはずです:

for($s=0; $s<50; $s++)
{
    $myvar = "string" . $s;
    $data[$s]=$$myvar;
}
于 2013-05-15T12:32:32.457 に答える