有没有方法可以在不使用sizeof($array)
和/或count($array)
的情况下查找数组的大小?数组的大小
Q
数组的大小
1
A
回答
4
如果你想知道一个数组中元素的个数,有两种解决方法:
- 使用
count()
功能 - 这是最好的主意 - 循环执行的所有项目,递增计数器 - - 这是一个坏主意。
举一个例子使用的第二个想法:再次
$num = 0;
foreach ($array as $item) {
$num++;
}
echo "Num of items : $num";
但是,:好主意!
编辑:只是为了好玩,这里的循环阵列上的另一个例子,不过,这一次,使用array_map()
和一个匿名函数(需要PHP> = 5.3):
$array = array(1, 2, 3, 4, 5);
$count = 0;
array_map(function ($item) use (& $count) {
$count++;
}, $array);
echo "Num of items : $count";
这里也是一个坏主意 - 即使很有趣^^
2
您可以使用foreach
和手动计数数组中元素的个数,但我不明白为什么你会想,因为这将提供比使用无论是sizeof
或count
功能没有优势。
+0
没有特别的原因。我只是想一次手动完成。谢谢 – Autolycus 2011-03-11 15:13:03
2
即使没有关于做foreach或其他任何事情的问题......那么array_reduce:
array_reduce($array, function($count, $element) {
return $count + 1;
}, 0);
只是为了不同的东西:d
+0
+1我总是喜欢“仅仅为了不同的东西”的答案,特别是当他们聪明时。当然PHP> = 5.3 – 2011-03-11 09:03:10
相关问题
- 1. 组数组大小
- 2. 数组大小
- 3. 数组大小
- 4. 数组大小
- 5. $ _POST最大数组大小
- 6. 最大数组大小
- 7. Python:最大数组大小?
- 8. Scipy.linalg.solve最大数组大小
- 9. 大小C数组
- 10. Java数组大小
- 11. C++数组可变大小的数组
- 12. 计算数组的大小
- 13. 计算数组的大小
- 14. 确定数组的大小
- 15. 固定大小的数组
- 16. 可变大小的数组
- 17. fgets中的数组大小()
- 18. Java中的数组大小
- 19. 限制数组的大小?
- 20. VB.NET中的数组大小
- 21. 特定数组的大小
- 22. 获取数组的大小
- 23. 数组的大小2^25
- 24. 大小为0的数组
- 25. 计数perl数组大小
- 26. Laravel - 减小数组的大小
- 27. 减小数组列表的大小
- 28. 数组中值的最大大小PHP
- 29. 在vb.net中的最大数组大小
- 30. 如果数组的大小大于1
什么,就是你不能同时使用功能的限制? – diEcho 2011-03-11 06:42:32
如果已经有2个功能,为什么还要其他?你有什么问题吗? – 2011-03-11 06:44:07
@diEcho。我第二个问题 – Ben 2011-03-11 06:44:23