我有一个数组,我想要重命名,以便存储值取决于for循环的编号。我尝试了这样的事情,但它给了我一个错误。在整个循环中更改一个php变量名称
for ($i =0;$i<4;$i++){
$array.$i = array();
push stuff into array;
}
所以在下一次迭代中,数组被称为array1,然后是array2等等。做这个的最好方式是什么。
我有一个数组,我想要重命名,以便存储值取决于for循环的编号。我尝试了这样的事情,但它给了我一个错误。在整个循环中更改一个php变量名称
for ($i =0;$i<4;$i++){
$array.$i = array();
push stuff into array;
}
所以在下一次迭代中,数组被称为array1,然后是array2等等。做这个的最好方式是什么。
要字面上回答你的问题:
$arrayName = 'array' . $i;
$$arrayName = array();
$$arrayName[] = ...
你真的想要的是一个多维数组,但:
$array[$i] = array();
$array[$i][] = ...;
现货好的先生 – 2012-04-12 00:11:21
您想要使用variable variables,其中双美元符号表示变量的名称取自变量。
$varname = "array";
for ($i =0;$i<4;$i++){
$newvarname = $varname . $i
$$newvarname = new array()
push stuff into array;
}
我要补充的是在这些情况下,一个简单的解决方案是经常使用一个阵列,其中所希望的变量名是指数。因此,而不是创造$array1
,$array2
,等等,你必须:
$arrays = array (
'array1' => array(stuff),
'array2' => array(stuff),
'array3' => array(stuff),
'array4' => array(stuff)
}
至少,我觉得更容易跟踪。
你应该能够引用使用$$符号为阵变量变量(请参阅:http://www.php.net/manual/en/language.variables.variable.php)。
所以,这样的事情应该工作(未经测试):
for ($i =0;$i<4;$i++){
$thisArrayName = 'array'.$i;
$$thisArrayName = array();
push stuff into array;
}
你需要阵列
for ($i =0;$i<4;$i++){
$array[$i] = array();
push stuff into array;
}
要清楚的数组,你说你要创建四个不同的阵列,名称从$ array1到$ array4? – octern 2012-04-12 00:03:49
使用多维数组。 $ array [$ i] ... – 2012-04-12 00:04:48
正确。我有不同的联赛,有不同的球队。所以我想为每个联盟的每个球队创建一个数组,如果这是有道理的。 – user541597 2012-04-12 00:05:19