对象遍历函数。

v1.0.0 2014-03-09 12:40 UTC

This package is auto-updated.

Last update: 2024-09-20 09:08:09 UTC


README

获取对象值的函数,无需痛苦地检查值是否isset。灵感来源于并移植自Igor Wiedler的出色get-in数组库。

例如,要访问嵌套属性->foo->bar->baz,你必须这样做

$baz = (isset($data->foo->bar->baz)) ? $data->foo->bar->baz : null;

已经足够了!get-from提供了一种更好的方法

$baz = florianec\get_from($data, ['foo', 'bar', 'baz']);

get_from在处理深度嵌套对象时特别方便,例如由SimpleXML生成的对象。

Build Status

安装

通过composer

$ composer require florianeckerstorfer/get-from:~1.0

用法

get_in

使用键列表从嵌套结构中检索值

$data = new \stdClass();
$data->foo = new \stdClass();
$data->foo->bar = new \stdClass();
$data->foo->bar->baz = 'oof';

$name = florianec\get_from($data, ['foo', 'bar', 'baz']);
//= 'oof'

不存在的键返回null

$data = new \stdClass();
$data->foo = 'bar';

$baz = florianec\get_from($data, ['baz']);
//= null

你可以提供一个默认值,该值将代替null使用

$data = new \stdClass();
$data->foo = 'bar';

$baz = florianec\get_from($data, ['baz'], 'qux');
//= 'qux'

变更日志

版本1.0(2014年3月9日)

  • 初始发布

灵感

这个库是Igor Wiedler的get-in库的完整复制。甚至这个README文件也大量受到Igors工作的影响。太丢人了。

当我想要清理处理来自外部Web服务的XML代码时,我创建了此库/函数,并意识到get-in只适用于数组,不适用于对象。

作者

许可

MIT许可(MIT)

版权所有 © 2014 Florian eckerstorfer

在此特此授予任何获得此软件及其相关文档文件(“软件”)副本的人免费权限,无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是由合同、侵权或其他方式引起的,无论是否与软件或其使用或其它交易有关。