0

我有50多个字符串。我需要将这些字符串放入一个数组中。我尝试使用循环来创建它。但是我在自动递增 var 的名称上遇到了麻烦。$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';

您也可以用编辑器的功能替换它们。

我举一个例子,记事本++。(日文插件已开启,抱歉)

让我们试试这样: 在此处输入图像描述

要点:

  • 搜索方式(\$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 回答