• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    PHP数组实现栈和队列:push,pop,shif,unshift

    Posted by 撒得一地 on 2015年12月18日 in PHP笔记
    国外稳定加速器推荐    Express | Vypr

    尽管在PHP中允许直接访问某个数组单元,但PHP仍提供了各种有趣的方式来处理数组。特别要说的是,某些函数使PHP数组非常容易的实现了一个栈或队列。

    array_pop

    这个array_pop函数会删除并返回数组的最后一个元素。

    在下面的这个例子中,你将会看到在给定一个数组的3个元素中,如何删除最后一个元素的值(索引最大的元素)并返回这个值。

    $stack = array("orange", "banana", "apple");
    
    $fruit = array_pop($stack);
    
    echo $fruit."<br/>";
    
    print_r($stack);
    

    上面的例子中,效果相当于出栈,最后执行后结果为:

    apple
    Array
    (
        [0] => orange
        [1] => banana   
    )
    

    可以看到数组索引最大的那个值被删除,而且赋值给了$fruit。当数组是一个空数组时,会返回一个NULL。

    array_push

    这个array_push函数可以向数组末尾添加一个或多个元素,并返回数组的长度。

    $stack = array("orange", "banana");
    
    array_push($stack, "apple");
    
    print_r($stack);
    

    上面的例子,效果相当于进栈,最后输出的结果为:

    Array
    (
        [0] => orange
        [1] => banana
        [2] => apple    
    )
    

    array_shift

    array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。

    所有的数字键名将改为从零开始计数,文字键名将不变。

    $stack = array("orange", "banana", "apple", "raspberry");
    
    $fruit = array_shift($stack);
    
    print_r($stack);
    

    上面的例子中,实现效果相当于取出队列首元素,最后输出的结果为:

    Array
    (
        [0] => banana
        [1] => apple
        [2] => raspberry
    )
    

    array_unshift

    array_unshift可以向数组插入一个或多个新元素。插入的值将按顺序放置到数组的开头。

    $queue = array("orange", "banana");
    
    array_unshift($queue, "apple", "raspberry");
    
    print_r($queue);
    

    上面的例子,实现的效果相当于元素进入队列,最后输出的结果为:

    Array
    (
        [0] => apple
        [1] => raspberry
        [2] => orange
        [3] => banana
    )
    

    标签:

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    9 + 0 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 公益助学体彩在行动中彩网 山东群英会最新开奖号码 足球宝贝人体彩绘 12生肖时时彩官网 北京赛车直播 新疆时时彩三星基本走势图 11选5开奖 彩票顶呱刮平台 苹果北京pk10下载软件 排列五走势图浙江风采 排列三试机号今天 大乐透开奖查询 赌博默示录3 中国足彩网官网旧版 澳客网 今天内蒙古时时彩开奖结果查询