raggitech/php-dot-array

该包已被废弃,不再维护。作者建议使用 pharaonic/php-dot-array 包代替。

使用点符号和星号快速/轻松地访问数组数据。

该包尚未发布版本,信息有限。


README

Latest Stable Version Total Downloads License CI-Build

DotArray 提供了使用点符号和星号快速访问数据的数组。

//Get all users names with DotArray
$names = $dot->get('users.*.name');

示例

传统方法

$array['users']['raggi']['name'] = 'Moamen Eltouny';

echo $array['users']['raggi']['name']; // Moamen Eltouny

DotArray 方法(使用 DotArray 对象)

$dot = dot(); // Creating DotArray Object
$dot->set('users.raggi.name', 'Moamen Eltouny');

// Getting [DotArray way]
echo $dot->get('users.raggi.name');

// OR Getting [ArrayAccess way]
echo $dot['users.raggi.name'];

安装

使用 Composer 安装最新版本

$ composer require raggitech/php-dot-array

用法

创建一个新的 DotArray 对象

$dot = new \RaggiTech\DotArray\DotArray;

// With existing array
$dot = new \RaggiTech\DotArray\DotArray($array);

或者,您可以使用辅助函数创建对象

$dot = dot();

// With existing array
$dot = dot($array);

方法

DotArray 有以下方法

set()

设置指定的键/值对

$dot->set('users.raggi.created_at', date('r', time()));

// ArrayAccess
$dot['users.raggi.created_at'] = date('r', time());

get()

返回指定键的值

print_r($dot->get('users.*.name'));

// ArrayAccess
print_r($dot['users.*.name']);

如果指定的键不存在,则返回给定的默认值

print_r($dot->get('users.*.name', 'Raggi'));

toJson()

以 JSON 格式返回指定键的值(类似于 get() 方法)

echo $dot->toJson('users');

以 JSON 格式返回所有存储的项目(类似于 get() 方法)

echo $dot->toJson();

all()

以数组形式返回所有存储的项目

$values = $dot->all();

delete()

删除指定的键

$dot->delete('users.*.name');

// ArrayAccess
unset($dot['users.*.name']);

clear()

删除所有存储的项目

$dot->clear();

has()

检查指定的键是否存在(返回布尔值)

$dot->has('users.raggi.name');

// ArrayAccess
isset($dot['users.raggi.name']);

count()

返回根项目的数量

$dot->count();

// Or use count() function [Countable Way]
count($dot);

返回给定键中的项目数量

$dot->count('users');

isEmpty()

检查指定的键是否为空(返回布尔值)

$dot->isEmpty('users.raggi.name');

// ArrayAccess
empty($dot['users.raggi.name']);

检查整个 DotArray 对象

$dot->isEmpty();

setArray()

用给定的数组替换 DotArray 对象中的所有项目

$dot->setArray($array);

setReference()

用给定的数组作为引用替换 Dot 对象中的所有项目

$dot->setReference($array);

许可

MIT 许可证