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

今天无意间看到一道面试题是要实现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

例子如下:

 

转载于:https://www.cnblogs.com/foryuhang/p/6427965.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值