PHP中的ArrayList实现

时间:2010-12-08 16:50:53

标签: java php arraylist

我尝试在PHP中实现ArrayList(Java)的基本功能.Arylylist应该能够添加任何类型的对象(Java中的通用) 任何人都可以提出改进设计/实施的建议。这是代码

<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class ArrayList
{

    private $arrVar;

    function  __construct($option)
    {
        $this->arrVar = array();
        array_push($this->arrVar,$option);
    }

  function addValue($option)
  {
      array_push($this->arrVar,$option);
  }

    function getLastValue()
  {
      $arr = array_pop($this->arrVar);
      return $arr;
  }

}



?>

2 个答案:

答案 0 :(得分:2)

除了限制我可以在阵列上执行的操作之外,您的类实际上没有做任何其他事情。通常最好采用特定语言常用的习语,而不是试图使语言与您喜欢的其他语言相似。

答案 1 :(得分:1)

不知道这是否有帮助:

class MyArray {
   private $my_array;

   function  __construct() {
      $this->my_array = array();
   }

   public function setMyArray($value) {
      $this->my_array = $value;
   }

   public function getMyArray() {
      return $this->my_array;
   }

   public function getLastElement() {
      $last_elem = array_reverse($this->getMyArray());
      return $last_elem[0];
   }
}

$myArr = new MyArray();
$a[] = "Hello"; // use this instead of array_push
$a[] = "World";
$myArr->setMyArray($a);
echo "My Array:<pre>".print_r($myArr->getMyArray(),true)."</pre><br />\n";
echo "Last Element: ".$myArr->getLastElement()."<br />\n";

$a[] = "Yet another element";
$myArr->setMyArray($a);
echo "My Array Again:<pre>".print_r($myArr->getMyArray(),true)."</pre><br />\n";
echo "Last Element Again: ".$myArr->getLastElement()."<br />\n";

输出:

My Array:Array
(
    [0] => Hello
    [1] => World
)

Last Element: World

My Array Again:Array
(
    [0] => Hello
    [1] => World
    [2] => Yet another element
)

Last Element Again: Yet another element