首页 > 编程语言 > 详细

关于数组的的一些内置函数

时间:2017-02-22 12:56:15      阅读:143      评论:0      收藏:0      [点我收藏+]

今天无意间看到一道面试题是要实现PHP的双向队列的,虽然现在我还不知道队列具体的意义,但是起码知道了它是怎么回事。简单的PHP双向队列:

class queue
{
    protected $_storage = array();
    
    //入队头
    public function unshift($element){
        return array_unshift($this->_storage,$element);
    }
    
    //入队尾
    public function push($element){
        return array_push($this->_storage, $element);
    }
    
    //出头
    public function shift(){
        return array_shift($this->_storage);
    }
    
    //出尾
    public function pop(){
        return array_pop($this->_storage);
    }
    
    //队列长度
    public function length(){
        return count($this->_storage);
    }
}

 

这里用到了很多内置的PHP函数,具体如下(注意以下所有的函数都是引用传递):

int array_unshift ( array &$array , mixed $var [, mixed $... ] )

 作用:array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。

参数:①被插入的数组。②插入单元。

返回值:返回 array 数组新的单元数目。

例子:

技术分享

 

int array_push ( array &$array , mixed $var [, mixed $... ] )

作用:array_push()array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。效果类似:$array[] = $var;
参数和返回值都是和上面的函数一样。 注意:如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。

例子如下:

技术分享

 

mixed array_shift ( array &$array )

作用:array_shift()array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。

参数:待处理的数组。

返回值:成功时返回移出的值,如果 array 为 空或不是一个数组则返回 NULL

例子如下:

技术分享

 

mixed array_pop ( array &$array )

作用:array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL。 此外如果被调用不是一个数则会产生一个 Warning

参数:待处理数组。

返回值:成功时返回 array 的最后一个值。如果 array 是空(如果不是一个数组),将会返回 NULL

例子如下:

技术分享

 

关于数组的的一些内置函数

原文:http://www.cnblogs.com/foryuhang/p/6427965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!