zoukankan      html  css  js  c++  java
  • php中数组模拟队列、栈的函数以及数组指针操作

    1,数组指针,current表示当前指针,输出其指向的元素;next表示指针移动到下一个元素;prev指针移动到上一个元素;end表示指针移动到最后一个元素;reset表示指针移动到第一个元素;

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

    2,数组模拟队列或栈

    (1)在数组尾部添加元素:array_push()和array[]。

    array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。注意不论多少个元素都是作为一个单元整体被插入的,因此传入时候单元内各个元素将保持同样的顺序。

    $arr = array();
    array_push($arr,$e1,$e2,....) 
    

      

    $arr = array();
    $arr[]=$e1;
    $arr[]=$e2;
    ......
    

    其中,array[]效率高于array_push(),建议使用array[]。

    (2)数组尾部删除元素:array_pop()。

     array_pop() 将数组的最后一个元素移除并作为结果返回,并将数组 array 的长度减一。如果 array 为空(或者不是数组)将返回 NULL

    $arr = array();
    array_pop($arr);

    (3)数组首部添加元素:array_unshift()。

    array_unshift() 将一个或多个元素插入到 array 数组的开头。注意不论多少个元素都是作为一个单元整体被插入的,因此传入单元内各个元素将保持同样的顺序。

    $arr = array();
    array_unshift($arr,$e1,$e2...);
    

      

    <?php
        $arr1 = array("c","d");
        array_unshift($arr1,"a","b");
        print_r($arr1);
     ?>
      运行结果:
       Array
      (
       [0] => a
       [1] => b
       [2] => c
       [3] => d 
      )  

    (4)数组首部删除元素:array_shift()。

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

    <?php
        $arr = array();
        array_shift($arr1,$e1);
     ?>
    

      

  • 相关阅读:
    Qt通用方法及类库9
    设计模式原则(7)--Composition&AggregationPrinciple(CARP)--合成&聚合复用原则
    设计模式原则(6)--Open-Closed Principle(OCP)--开闭原则
    鼠标悬停出现页面
    设计模式(23)--Visitor--访问者模式--行为型
    设计模式(22)--Template Method(模板方法模式)--行为型
    设计模式(21)--Strategy(策略模式)--行为型
    设计模式(20)--State(状态模式)--行为型
    设计模式(19)--Observer(观察者模式)--行为型
    设计模式(18)--Memento(备忘录模式)--行为型
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/5402812.html
Copyright © 2011-2022 走看看