dottwatson / simple-data
traverse an array or an object by accessing the children and parents of a node
1.0
2024-10-28 12:56 UTC
This package is auto-updated.
Last update: 2024-11-28 13:05:32 UTC
README
traverse an array or an object by accessing the children and parents of a node
Install
In your project
composer require dottwatson/simple-data
Usage
$data = [ 'bar' => [0,1,2,3,4,5], 'foo' => [10,20,30,40,50] ]; $object = new StdClass; $object->bar = 'foo';
with dedicated function
$array = simple_data($data); //returns a SimpleData\SimpleArray object $object = simple_data($object); //returns a SimpleData\SimpleObject object
or with instance
use SimpleData\SimpleArray; $array = new SimpleArray($data);
then traverse your array (or object)
$item = $array->get('bar'); $itemData = $array->get('bar')->value(); //returns [0,1,2,3,4,5] //retrieve a value and back to its parent $item = $array->get('bar'); $parentNode = $item->parent();
accessing to values
$value = $array->get('foo')->get(2); echo $value->value(); //returns 30 $parent = $value->parent()->value(); // returns [10,20,30,40,50] $result = $array ->nthChild(2) //select child #2 ->append(1000) //add 1000 ->parent() //return top of proviouse hthChild ->set('genders',['Male','Female','Unisex']) //add key=>value ->nthChild(1) //select child #1 ->set(6,60) // add key=>value ->parent() // return top of proviouse hthChild ->value(); //get value // result = Array // ( // [bar] => Array // ( // [0] => 0 // [1] => 1 // [2] => 2 // [3] => 3 // [4] => 4 // [5] => 5 // [6] => 60 // ) // [foo] => Array // ( // [0] => 10 // [1] => 20 // [2] => 30 // [3] => 40 // [4] => 50 // [5] => 1000 // ) // [genders] => Array // ( // [0] => Male // [1] => Female // [2] => Unisex // ) // ) echo $array->get('bar')->get(2)->path(); // returns "bar/2" echo $array->xfind('gender/0')->value(); //returns "Male"
Available methods on array
Here a list on the available methods on SimpleData\SimpleArray
Available methods on SimpleValue
Here a list on the available methods on Lonfo\SimpleValue