Simplified array dot notation for PHP

v1.1.0 2016-07-07 04:14 UTC

This package is auto-updated.

Last update: 2024-10-08 07:01:14 UTC


README

Dot

Build Status Total Downloads Latest Stable Version

Description

Dot is a tiny library and implements array dot notation for PHP written by Selvin Ortiz

Requirements

Install

composer require selvinortiz/dot

Test

sh spec.sh

Usage

To use Dot after proper installation, just autoload it, use it, and call methods on it:)

$input = [
    'name' => [
        'first' => 'Brad',
        'last'  => 'Bell',
    ],
    'spouse' => [
        'name' => [
            'first' => 'Brandon',
            'last'  => 'Kelly'
        ],
        'mood' => 'Happy',
        'age'  => '75',
    ],
    'mood' => 'Angry',
    'age'  => 25,
];

Dot::has($input, 'spouse');
// true

Dot::has($input, 'mistress.relationship');
// false

Dot::get($input, 'spouse.name.last');
// 'Kelly'

Dot::get($input, 'spouse');
/*
[
    'name' => [
        'first' => 'Brandon',
        'last'  => 'Kelly'
    ],
    'mood' => 'Happy',
    'age'  => '75'
]
*/

Dot::set($input, 'spouse.name.last', 'Bell');
/* $input will be mutated with a changed value
[
    'name' => [
        'first' => 'Brad',
        'last'  => 'Bell',
    ],
    'spouse' => [
        'name' => [
            'first' => 'Brandon',
            'last'  => 'Bell'
        ],
        'mood' => 'Happy',
        'age'  => '75',
    ],
    'mood' => 'Angry',
    'age'  => 25,
];
*/

Dot::delete($input, 'spouse.mood');
/* $input will be mutated with a key/value deleted
[
    'name' => [
        'first' => 'Brad',
        'last'  => 'Bell',
    ],
    'spouse' => [
        'name' => [
            'first' => 'Brandon',
            'last'  => 'Bell'
        ]
        'age'  => '75',
    ],
    'mood' => 'Angry',
    'age'  => 25,
];
*/

API

Dot has a very small API and hoping to keep it small and to the point.

Dot::has($arr, $key)

Returns whether or not $arr has $key. Put another way, $key exists in $arr

Dot::get($arr, $key, $default = null)

Returns the value found in $arr by $key or $default provided

Dot::set(array &$arr, $key, $value)

Mutates the $arr by adding a new $key with $value provided

Dot::delete(array &$arr, $key)

Mutates the $arr by delete $key and its associated value if found

Contribute

Dot wants to be friendly to first time contributors. Just follow the steps below and if you have questions along the way, please reach out.

  1. Fork it!
  2. Create your bugfix or feature branch
  3. Commit and push your changes
  4. Submit a pull request

License

Dot is open source software licensed under the MIT License