php中的ArrayList

Coo*_*per 17 php arraylist data-structures

php除了之外是否有任何数据结构array.是否可以创建一个数据结构,如ArrayList?如果是这样,请提供一些参考或某种实施方式.

Fel*_*ing 47

您可以在文档中找到有关阵列的所有信息.

数组的所有可用函数都列在函数参考中.

一些说明:

  • 数组最初是PHP中唯一的数据结构.这就是他们如此灵活的原因.它们被用作堆栈,队列,数组,列表,哈希表等.后来PHP介绍了spl datastructures.
  • 与Java不同,PHP不是纯粹的OO语言.数组本身没有可以应用的内置方法.这必须通过"正常"功能来完成.
  • 数组没有固定的大小.它们会自动扩展和缩小.

在下面我尝试列出最常用ArrayList方法的PHP替代方案:

  • 嗯,唯一的数据结构?怎么样 http://php.net/manual/en/spl.datastructures.php (2认同)

Car*_*s H 5

我尝试实现,这里有一些简单的代码:

class ArrayList {

private $list = array();


public function Add($obj)
{
    array_push($this->list, $obj);
}

public function Remove($key)
{
    if(array_key_exists($key, $this->list))
    {
        unset($this->list[$key]);
    }
}

public function Size()
{
    return count($this->list);
}

public function IsEmpty()
{
    return empty($this->list);
}

public function GetObj($key)
{
    if(array_key_exists($key, $this->list))
    {
        return $this->list[$key];
    }
    else
    {
        return NULL;
    }
}

public function GetKey($obj)
{
    $arrKeys = array_keys($this->list, $obj);

    if(empty($arrKeys))    
    {
        return -1;
    }
    else
    {
        return $arrKeys[0];
    }
}

}
Run Code Online (Sandbox Code Playgroud)


Tom*_*rdt 1

array(
    'key' => 'value',
    'key2' => 'value2'
)
Run Code Online (Sandbox Code Playgroud)

或者

class DataStructure {
    var $val1;
    var $val2;
}
$item = new DataStructure();
$item -> val1 = 'value1';
Run Code Online (Sandbox Code Playgroud)

我不知道这个“arrayList”是什么(听起来是Java),但如果它是一个数组列表,那么PHP等效项将是:

array(
    array(
        'item1',
        'item2'
    ),
    array(
        'item1',
        'item2'
    )
)
Run Code Online (Sandbox Code Playgroud)

[编辑]

如果这arrayList只是一个数组,您可以使用

array(
    'item1',
    'item2'
)
Run Code Online (Sandbox Code Playgroud)