看到这个内容,你已经知道我是一个新手小白了   所以我想问一下。为什么不直接在数组中添加数据。为啥还会有array_push   array_pop呢。

解决方案 »

  1.   

    不,这和小白没有关系,对于我这两年的php也对你发的问题重新思考,你能疑问至少比我强。
    php的这两个函数和redis的rpush rpop类似,从数组末尾推进N个元素,从末尾弹出一个元素。
    也就是队列形式,有时可以代替redis的队列,也就是有排序要求的时候用。
    至于向数组添加数据的方式很多,直接添加当然可以,当你有取出最后一个元素需求的时候,试想下不用pop怎么实现呢,是不是麻烦一些。
      

  2.   

    php前后端不分家,php就适合web
      

  3.   

    PHP的底层是C语言写的(至少最开始是的,后面有一部分自己的语言),这个是prop和push涉及到栈的概念(入栈和出栈)。在C语言中整个字符串的拷贝,数组的拷贝是比较耗内存的。如果只是入栈和出栈。在C语言中可以使用地址的方式去进行操作(往往使用地址操作数据和直接操作内存上面的数据快很多),prop和push直接在地址上多分配空间和减少空间就行了,不用做整个空间的复制操作。所以PHP中使用prop和push是能提升一定的效率的(当然是在数据较大的情况明显,如果数据小没得多大的差别)。