PHP code example of babenkoivan / fluent-array
1. Go to this page and download the library: Download babenkoivan/fluent-array library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
babenkoivan / fluent-array example snippets
$order = (new FluentArray())
->user()
->id(1)
->name('John')
->end()
->coupon('SALE10')
->status('delivered')
->products()
->push()
->id(1)
->name('iPhone X')
->price(1200)
->end()
->push()
->id(2)
->name('Beats By Dre Studio3')
->price(360)
->end()
->end();
[
'user' => [
'id' => 1,
'name' => 'John'
],
'coupon' => 'SALE10',
'status' => 'delivered',
'products' => [
[
'id' => 1,
'name' => 'iPhone X',
'price' => 1200
],
[
'id' => 2,
'name' => 'Beats By Dre Studio3'
'price' => 360
]
]
]
$fluentArray = new FluentArray();
// we set the key `one` and the corresponding value `1` in the storage
$fluentArray->set('one', 1);
// we get the value, that corresponds the key `one` from the storage
$fluentArray->get('one');
$config = (clone FluentArray::globalConfig())
->namingStrategy(new CamelCaseStrategy());
$fluentArray = (new FluentArray($config))
->one(1)
->two(2);
// alternatively you can set configuration, using the `config` method
$fluentArray = (new FluentArray())
->config($config)
->one(1)
->two(2);
$fluentArray->all();
// ['One' => 1, 'Two' => 2]
$globalConfig = FluentArray::globalConfig();
$globalConfig->namingStrategy(new CamelCaseStrategy());
$fluentArray = (new FluentArray())
->one(1)
->two(2);
$fluentArray->all();
// ['One' => 1, 'Two' => 2]
$globalConfig = FluentArray::globalConfig();
$globalConfig
->macros()
->format(function (string $key, int $decimals = 0) {
$value = $this->get($key);
if (is_numeric($value)) {
return number_format($value, $decimals);
} else {
return $value;
}
})
->end();
$fluentArray = (new FluentArray())
->set('one', 10.567)
->set('two', 2.89);
$fluentArray->format('one', 2);
// 10.57
$fluentArray->format('two', 1);
// 2.9
$config = (clone FluentArray::globalConfig())
->namingStrategy(new UnderscoreStrategy());
$fluentArray = (new FluentArray($config))
->firstValue(1)
->secondValue(2);
$fluentArray->all();
// ['first_value' => 1, 'second_value' => 2]
$config = (clone FluentArray::globalConfig())
->namingStrategy(new CamelCaseStrategy());
$fluentArray = (new FluentArray($config))
->firstValue(1)
->secondValue(2);
$fluentArray->all();
// ['first_value' => 1, 'second_value' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$fluentArray->clean()->all();
// []
$config = (new FluentArray())
->set('naming_strategy', new NullStrategy());
$fluentArray = (new FluentArray())
->config($config);
$fluentArray->config()->get('naming_strategy');
// instance of NullStrategy
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2)
->set('three', 3);
$fluentArray->count();
// 3
$odds = [];
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2)
->set('three', 3)
->set('four', 4);
$fluentArray->each(function ($value, $key) use (&$odds) {
if ($value % 2 !== 0) {
$odds[] = $value;
}
});
$odds;
// [1, 3]
$counter = 0;
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2)
->set('three', 3);
$fluentArray->each(function ($value, $key) use (&$counter) {
if ($value > 1) {
return false;
}
$counter++;
});
$counter;
// 1
$sourceFluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$filteredFluentArray = $sourceFluentArray->filter(function ($value, $key) {
return $value > 1;
});
$filteredFluentArray->all();
// ['two' => 2]
$fluentArray = (new FluentArray())
->set('zero', 0)
->set('one', 1)
->set('two', 2);
$fluentArray->filter()->all();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->first();
// 1
$array = ['one' => 1, 'two' => 2];
$fluentArray = FluentArray::fromArray($array);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$json = '{"one":1,"two":2}';
$fluentArray = FluentArray::fromJson($json);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->get('two');
// 2
$globalConfig = (new FluentArray())
->set('naming_strategy', new NullStrategy());
FluentArray::globalConfig($globalConfig);
FluentArray::globalConfig()->get('naming_strategy');
// instance of NullStrategy
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->has('one');
// true
$fluentArray->has('three');
// false
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->keys();
// ['one', 'two']
$fluentArray = (new FluentArray())
->set('b', 1)
->set('a', 2)
->set('c', 3);
$fluentArray->krsort(SORT_STRING)->all();
// ['c' => 3, 'b' => 1, 'a' => 2]
$fluentArray = (new FluentArray())
->set('b', 1)
->set('a', 2)
->set('c', 3);
$fluentArray->ksort(SORT_STRING)->all();
// ['a' => 2, 'b' => 1, 'c' => 3]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->last();
// 2
$sourceFluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$resultFluentArray = $sourceFluentArray->map(function ($value, $key) {
return $value * 10;
});
$resultFluentArray->all();
// ['one' => 10, 'two' => 20]
$fluentArray = (new FluentArray())
->set('one', (new FluentArray())->set('id', 1))
->set('two', (new FluentArray())->set('id', 2));
$fluentArray->pluck('id')->all();
// [1, 2]
$fluentArray = (new FluentArray())
->push(1)
->push(2);
$fluentArray->all();
// [1, 2]
$fluentArray = (new FluentArray())
->push()
->one(1)
->two(2)
->end()
->push()
->three(3)
->end();
$fluentArray->toArray();
// [['one' => 1, 'two' => 2], ['three' => 3]]
$fluentArray = (new FluentArray())
->pushWhen(true, 1)
->pushWhen(false, 2)
->pushWhen(function () { return true; }, 3);
$fluentArray->all();
// [1, 3]
$fluentArray = (new FluentArray())
->pushWhen(true)
->one(1)
->end(false)
->pushWhen(false)
->two(2)
->end()
->pushWhen(function () { return true; })
->three(3)
->end();
$fluentArray->toArray();
// [['one' => 1], ['three' => 3]]
$fluentArray = (new FluentArray())
->set('three', 3)
->set('one', 1)
->set('two', 2);
$fluentArray->rsort(SORT_NUMERIC)->all();
// ['three' => 3, 'two' => 2, 'one' => 1]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->setWhen(true, 'one', 1)
->setWhen(false, 'two', 2)
->setWhen(function () { return true; }, 'three', 3);
$fluentArray->all();
// ['one' => 1, 'three' => 3]
$fluentArray = (new FluentArray())
->set('three', 3)
->set('one', 1)
->set('two', 2);
$fluentArray->sort(SORT_NUMERIC)->all();
// ['one' => 1, 'two' => 2, 'three' => 3]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->toArray();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->toJson();
// "{"one":1,"two":2}"
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->unset('one')->all();
// ['two' => 2]
$fluentArray = (new FluentArray())
->set('three', 3)
->set('one', 1)
->set('two', 2);
$fluentArray->usort(function ($a, $b) {
return $a <=> $b;
});
$fluentArray->all();
// ['one' => 1, 'two' => 2, 'three' => 3]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$fluentArray->all();
// [1, 2]
$fluentArray = new FluentArray();
$fluentArray->when(true, function () use ($fluentArray) {
$fluentArray->set('one', 1);
});
$fluentArray->when(false, function () use ($fluentArray) {
$fluentArray->set('two', 2);
});
$fluentArray->when(
function () {
return true;
},
function () use ($fluentArray) {
$fluentArray->set('three', 3);
}
);
$fluentArray->all();
// ['one' => 1, 'three' => 3]
$fluentArray = new FluentArray();
$fluentArray->when(
false,
function () use ($fluentArray) {
$fluentArray->set('one', 1);
},
function () use ($fluentArray) {
$fluentArray->set('two', 2);
}
);
$fluentArray->all();
// ['two' => 2]
$fluentArray = (new FluentArray())
->one(1)
->two(2);
$fluentArray->all();
// ['one' => 1, 'two' => 2]
$fluentArray = (new FluentArray())
->{'\set'}(1)
->{'\get'}(2);
$fluentArray->all();
// ['set' => 1, 'get' => 2]
$fluentArray = (new FluentArray())
->oneWhen(true, 1)
->twoWhen(false, 2)
->threeWhen(function () { return true; }, 3);
$fluentArray->all();
// ['one' => 1, 'three' => 3]
$fluentArray = (new FluentArray())
->one()
->two(3)
->end()
->three()
->four(4)
->five(5)
->end();
$fluentArray->toArray();
// ['one' => ['two' => 2], 'three' => ['four' => 4, 'five' => 5]]
$fluentArray = (new FluentArray())
->one(1)
->two(2);
$fluentArray->two();
// 2
$fluentArray = (new FluentArray())
->one(1)
->two(2);
$fluentArray->hasOne();
// true
$fluentArray->hasThree();
// false
$fluentArray = (new FluentArray())
->one()
->id(1)
->end()
->two()
->id(2)
->end();
$fluentArray->pluckId()->all();
// [1, 2]
$fluentArray = (new FluentArray())
->one(1)
->two(2);
$fluentArray->unsetOne()->all();
// ['two' => 2]
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
count($fluentArray);
// 2
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
$serialized = serialize($fluentArray);
$unserialized = unserialize($serialized);
$unserialized->all();
// ['one' => 1, 'two' => 2]
$fluentArray = new FluentArray();
$fluentArray['one'] = 1;
$fluentArray['two'] = 2;
$fluentArray['two'];
// 2
$fluentArray = (new FluentArray())
->set('one', 1)
->set('two', 2);
foreach ($fluentArray as $key => $value) {
$fluentArray->set($key, $value * 10);
}
$fluentArray->all();
// ['one' => 10, 'two' => 20]
$fluentArray = (new FluentArray())
->one()
->id(1)
->end()
->two()
->id(2)
->end();
$fluentArray = (new FluentArray())
->one()
->id(1)
->end()
->two()
->id(2)
->end();
// @formatter:off
$fluentArray = (new FluentArray())
->one()
->id(1)
->end()
->two()
->id(2)
->end();
// @formatter:on