raggitech / php-dot-array
该包尚未发布版本,信息有限。
README
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);