php变量和数组大小限制

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

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

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

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

echo ‘</pre>‘;

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

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

是memory_limit的限制大小

$number = range(1,20000000);
//var_dump($number);

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

echo ‘</pre>‘;

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

时间: 2024-10-10 17:54:24

php变量和数组大小限制的相关文章

程序猿之---C语言细节28(const变量初始化、数组大小用const变量细节、const变量与#define宏、volatile修饰)

主要内容:const变量初始化.数组大小用const变量细节.const变量与#define宏.volatile修饰 一.const变量初始化时必须赋值 二.const变量在C++中可以做数组大小元素.在C中不行,因为它是变量 三.const和#define区别:内存分配 四.volatile修饰一些变量:易被操纵系统.硬件.多线程修改的变量 #include <stdio.h> int main() { /* 测试1 */ const int b; // 不初始化会报错 // b = 2;

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

 1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&val){ printf("1"); } else { printf("0"); } if(!(bit%4)) printf(" "); } putchar(1

Javascript:变量与数组

Javascript变量属于弱类型,即声明一个变量的时候无需指定类型,并且之后可以将任何类型的数值复制给它. 代码整理自w3school:http://www.w3school.com.cn 效果图: 示例代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

c++运行时决定数组大小 variable-length array

variable-length array是C99添加的一个特性,即数组的长度可以在运行时(run time)决定,而不是在编译时(compile time).即,定义数组时不一定要使用 const int, 也可以使用变量.函数返回值等. 例如 1 int main(){ 2 int a=5, b=6; 3 int arr1[a]; 4 int arr2[ min(a,b) ]; 5 int arr3[ rand()%10 ]; 6 7 } 这些定义数组的方式都是合法的. 不过,这种声明方式好

下压栈(LIFO) (能动态调整数组大小的实现)

import java.util.*; // 下压栈(LIFO) 能动态调整数组大小的实现 public class ResizeArrayStack<Item> implements Iterable<Item> { @SuppressWarnings("unchecked") private Item[] a=(Item[]) new Object[1]; private int N; public boolean isEmpty() { return N=

C++中变量做数组长度

在Java中,这是完全可以的,比如我们运行如下程序: package cn.darrenchan.storm; import java.util.Arrays; public class Test { public static void main(String[] args) { int num = 5; int[] array = new int[num]; System.out.println(Arrays.toString(array)); } } 输出结果为:[0, 0, 0, 0,

Shell初学(二)变量及数组

精简版: 定义:your_name=123      PS:=符号左右不能有空格! 使用:${your_name},单独使用变量时可以不加{} 只读:readonly your_name  PS:设置为只读后不可删除 删除:unset your_name 引号:单引号显示实质内容,双引号可以拼接字符串并且可以使用转义字符 大小:${#your_name} 可以查看变量所占大小,字符串长度 提取子字符串:echo ${string:1:4} 字符串以0为下表起始 查找子字符串:`expr inde

一道面试题: C能申请的最大全局数组大小?

一道面试题: C能申请的最大全局数组大小?第一反应好像是4GB,但明显不对,代码和数据都要占空间,肯定到不了4GB.但是又想内存可以和硬盘数据交换,那到底是多少?应该是32位系统是理论上不能超过4GB(因为地址宽度4bytes,寻址的限制),实际中由于OS实现的细节会更少(比如Linux 1GB给了内核),而64位系统不超过2^64-1:内存大小最好大于数组长度,否则导致和磁盘交换数据,性能下降如果是局部变量,分配在栈上,空间会更小,取决于编译器 参考:http://stackoverflow.

C++ delete []p 数组指针,如何知道该数组大小的

本来只是一时兴起,想动手整整大学学的很渣的C++,可是一段小小的代码缺牵扯出一堆问题来,好有趣. 来看一段代码: void main() { char p[6]; char *buf = new char[4]; strcpy(buf,"012356789");//这里越界不会报错 strcpy(p,"Hello"); //若此处越界立即报错 cout<<p<<endl; cout<<buf<<endl; delete