我有一個數組,我想要重命名,以便存儲值取決於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