回答
要建立固定的數組,你應該使用SplFixedArray從Standard PHP Library擴展:
的SplFixedArray類提供陣列的主要功能。 SplFixedArray和普通PHP數組之間的主要區別在於SplFixedArray具有固定長度並且只允許範圍內的整數作爲索引。優點是它允許更快的數組實現。
親愛的我們不能使用SplFixedArray創建多維數組。 –
什麼是阻止您嵌套SplFixedArray創建多維數組? –
它不是很像PHP,但可以使用此功能(基於Grzegorz'SplFixedArray
提示)生成任意維度的固定大小的數組。
function createFixedArray() {
$args = func_get_arg(0);
$array = new SplFixedArray($args[0]);
if (isset($args[1])) {
$newArgs = array_splice($args, 1);
for ($i=0; $i<$args[0]; $i++) {
$array[$i] = createFixedArray($newArgs);
}
}
return $array;
}
使用例:
$fixedArray = createFixedArray(array(2, 2, 2));
$fixedArray[0][0][0] = 0;
$fixedArray[0][0][1] = 1;
$fixedArray[0][1][0] = 1;
$fixedArray[0][1][1] = 0;
$fixedArray[1][0][0] = 1;
$fixedArray[1][0][1] = 0;
$fixedArray[1][1][0] = 0;
$fixedArray[1][1][1] = 1;
var_dump($fixedArray);
生成
object(SplFixedArray)#1 (2) {
[0]=>
object(SplFixedArray)#2 (2) {
[0]=>
object(SplFixedArray)#3 (2) {
[0]=>
int(0)
[1]=>
int(1)
}
[1]=>
object(SplFixedArray)#4 (2) {
[0]=>
int(1)
[1]=>
int(0)
}
}
[1]=>
object(SplFixedArray)#5 (2) {
[0]=>
object(SplFixedArray)#6 (2) {
[0]=>
int(1)
[1]=>
int(0)
}
[1]=>
object(SplFixedArray)#7 (2) {
[0]=>
int(0)
[1]=>
int(1)
}
}
}
據我所知,在運行時創建數組需要很多時間,因爲每次我們使用新建數組時,它將刪除數組佔用的舊內存,然後在新內存位置創建新大小的數組,並複製和粘貼數組數據。我的代碼可能會生成巨大的數組,你認爲這將是一個好主意,在運行時生成大尺寸數組....正如我告訴我想創建固定的多日。數組,但不是在運行時... –
用你自己的數據運行一些測試,看看它如何工作處理和內存明智。您的數據和設置在問題中不明確,並且超出了它的範圍。 –
- 1. PHP多維數組長度
- 2. 創建多維數組PHP
- 3. PHP創建多維數組
- 4. 如何在C中創建固定長度的「字符串」數組?
- 5. 如何在流程中創建一個固定長度類型
- 6. 動態多維數組創建在PHP
- 7. bash中多維數組的長度
- 8. 在PHP中創建一個深度不確定的多維數組
- 9. 如何在php中創建一個多維數組?
- 10. 如何在PHP中創建和顯示多維數組
- 11. 如何從PHP中的字符串創建多維數組?
- 12. 創建一個具有未指定變量行長度的多維數組(Java)
- 13. 的Java:多維數組的長度
- 14. 從多個多維數組中創建一個數組php
- 15. PHP動態創建多維數組鍵
- 16. 數組創建表達式和長維長度
- 17. 如何在Laravel創建多維數組/ PHP
- 18. 如何創建從給定的二維數組一維數組
- 19. 如何檢測javascript中的多維數組長度?
- 20. C++ - 你如何創建多維數組?
- 21. 我如何創建多維數組,值
- 22. nodejs如何創建多維數組?
- 23. 如何使固定長度
- 24. 如何在PHP中定義單維和多維數組?
- 25. 在Wordpress Widget中創建多維數組
- 26. 如何使用參數中的字符串創建固定長度BigInteger
- 27. PHP如何從多維數組中刪除陣列,並創建新的數組
- 28. 如何在perl中從STDIN創建多個多維數組?
- 29. 如何在Appcelerator Titanium的scrollView中創建固定長度的表格?
- 30. 如何在java中創建一個沒有長度的數組?
很抱歉,但目前還不清楚是什麼,你居然問。 – arkascha
PHP數組是動態的,你不需要聲明它們,也沒有固定的大小。 – Devon
請注意,php作爲非聲明性編程語言不使用嚴格的類型。它遵循更加動態的方法,數組和對象不僅可以在值中進行修改,而且可以在「即時」結構中進行修改。 – arkascha