jimphle/data-structure

Jimdo PHP库数据结构组件提取

v0.5.0 2017-08-23 12:56 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:46:41 UTC


README

Jimdo PHP库数据结构组件提取。

它包含一个Map、一个Vector和一个Null的BaseInterface实现。特点:

  • 不可变
  • 对于不存在的键抛出InvalidPropertyException异常
  • 能够将不同数据结构的完整树转换为json
  • 有时效率不高。例如,fromArray方法使用Vector::isSequentialList检查,这会在内存中复制整个数组

Vector是一个具有顺序数字索引的数组的表示

$vector = new \Jimphle\DataStructure\Vector(
    array(
        'foo',
        'bar'
    )
);

echo $vector[1];

Map是一个具有键和值的数组的表示

$map = new \Jimphle\DataStructure\Map(
    array(
        'foo' => 'bar'
    )
);
echo $map->foo;

$map = new \Jimphle\DataStructure\Map(
    array(
        'foo-1' => 'bar'
    )
);
echo $map['foo-1'];

将对象树转换为json

$map = new \Jimphle\DataStructure\Map(
    array(
        'who?' => new \Jimphle\DataStructure\Vector(
            array(
                new Jimphle\DataStructure\Map(
                    array(
                        'foo' => 'bar'
                    )
                )
            )
        )
    )
);
echo $map->toJson();