zoukankan      html  css  js  c++  java
  • 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的大小就可以了,别忘记重启

    数组操作

    $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),并向前移动内部指针

  • 相关阅读:
    201671010145 20162017 《Java程序设计》java的继承中什么叫方法覆盖,是如何实现的?
    201671010145 20162017《Java程序设计》Java接口的功能
    Java与C语言的区别
    201671010145 201620173《Java程序设计》Java中类与对象的区别
    Java 加密算法
    Java 基础
    Java 新建线程时使用线程池处理
    sublime text 3安装
    C语言的基本数据类型
    有点跑题的随笔
  • 原文地址:https://www.cnblogs.com/zx-admin/p/5069962.html
Copyright © 2011-2022 走看看