首页 后端开发 php教程 PHP 兑现队列类 仅供参考

PHP 兑现队列类 仅供参考

Jun 13, 2016 pm 01:06 PM
array function gt queue this

PHP 实现队列类 仅供参考

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

<?php

/**

 * PHP Class for queue

 * @author yangqijun@live.cn

 * @copyright DataFrog Beijingbei  Ltd. 2011-07-25

 */

class Queue {

 

    public  $length=12;

    public  $queue  = array();  //  if String like this "22,23,24"    convert to array to do queue

    public  $delimiter=',';

 

    function __construct($queue=array())

    {

        $this->queue=$queue;

    }

     

    /**

     * @desc start queue

     * @param String  $param  new queue element

     */

    public function run($param)

    {

 

        if(!is_array($this->queue)){

            $this->strToQue();

        }

        $currentlength=$this->countqueue();  //Count  the  queue length

        if($currentlength<$this->length&&$this->length>0) {

            $this->queAdd($param);

        }else if($this->length=0)

        {

            $this->queue[]=$param;

        }

        else {

            $this->queRemove();

            $this->queAdd($param);

        }

             

        return $this->queue;

             

    }

    /**

     * String like this "22,23,24"  convert to array to do queue

     * @param String $string

     * @param String $delimiter

     */

    public function strToQue (){

 

        if (empty($this->queue))

        {

            $this->queue=array();

        }

        else

        {

        $this->queue=explode($this->delimiter,$this->queue);

        }

          

             

    }

 

    /**

     * insert $node into queue

     * @param string $node

     */

    private function queAdd($node){

          

        array_push($this->queue,$node);

        $this->countqueue();

    }

    private function queRemove(){

        $node = array_shift($this->queue);

        $this->countqueue();

        return $node;

    }

    private function countqueue(){

        $currentlength= count($this->queue);

        return $currentlength;

    }

    function __destruct()

    {

        unset($this->queue);

    }

}

 

//example

 $str='' ;            //array();

$obj=new Queue ($str);

$obj->length=8;  // 队列元素长度

$obj->delimiter='|'//如果队列是字符串,则元素直接的分隔符为|

$a=$obj->run('91');   //要添加到队列中的元素

$a=$obj->run('92');

$a=$obj->run('93');

$a=$obj->run('94');

print_r($a);

 

 

?>

登录后复制

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为GT3 Pro和GT4的差异是什么? 华为GT3 Pro和GT4的差异是什么? Dec 29, 2023 pm 02:27 PM

华为GT3 Pro和GT4的差异是什么?

Laravel开发:如何使用Laravel Queue处理异步任务? Laravel开发:如何使用Laravel Queue处理异步任务? Jun 13, 2023 pm 08:32 PM

Laravel开发:如何使用Laravel Queue处理异步任务?

function是什么意思 function是什么意思 Aug 04, 2023 am 10:33 AM

function是什么意思

修复:截图工具在 Windows 11 中不起作用 修复:截图工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

修复:截图工具在 Windows 11 中不起作用

如何修复无法连接到iPhone上的App Store错误 如何修复无法连接到iPhone上的App Store错误 Jul 29, 2023 am 08:22 AM

如何修复无法连接到iPhone上的App Store错误

使用C#中的Array.Sort函数对数组进行排序 使用C#中的Array.Sort函数对数组进行排序 Nov 18, 2023 am 10:37 AM

使用C#中的Array.Sort函数对数组进行排序

多线程环境下Java Queue队列的安全性问题及解决方案 多线程环境下Java Queue队列的安全性问题及解决方案 Jan 13, 2024 pm 03:04 PM

多线程环境下Java Queue队列的安全性问题及解决方案

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

See all articles