php变量和数组大小限制

时间:2024-01-06 21:51:56

前言:shopnc在默认拼接sql的时候会带上limit 1000

那么问题就来了,如果在使用系统的封装的方法,但是如果你没有带上->limit(false)就完蛋了

那么问题来了,在判断时候,数据库有1900多条数据,打印在页面上只有1000条,我以为是var_dump不能完全显示

echo '<pre>';
var_export($number);

echo '</pre>';

这样我又来显示,结果使用sizeof函数发现只有1000条,我最初以为是超过了数组存贮数组的大小,结果,发现是上面所说的问题

那么问题又来了,php变量数组能够存储的最大是多少呢?

php变量和数组大小限制

是memory_limit的限制大小

$number = range(1,20000000);
//var_dump($number); echo '<pre>';
var_export($number); echo '</pre>';

运行,你发现上面的报错,吧134217728除以1024除以1024就是128,如果你当前运行的代码需要超过128M的变量来处理,就修改 memory_limit的大小就可以了,别忘记重启

数组操作

$people = array("Bill", "Steve", "Mark", "David");

echo current($people) . "<br>"; // 当前元素是 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve
echo current($people) . "<br>"; // 现在当前元素是 Steve
echo prev($people) . "<br>"; // Steve 的上一个元素是 Bill
echo end($people) . "<br>"; // 最后一个元素是 David
echo prev($people) . "<br>"; // David 之前的元素是 Mark
echo current($people) . "<br>"; // 目前的当前元素是 Mark
echo reset($people) . "<br>"; // 把内部指针移动到数组的首个元素,即 Bill
echo next($people) . "<br>"; // Bill 的下一个元素是 Steve

print_r (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针