A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.github.com/setnemo/asterisk-notation/commit/a869648d6a90fef77f86ae42fce28414d0b26b5a below:

override push, also write tests for pull/push · setnemo/asterisk-notation@a869648 · GitHub

@@ -17,7 +17,7 @@ Asterisk notation for array access in PHP. Update array access to the next level

17 17

```php

18 18

use Setnemo\Asterisk;

19 19 20 -

$items = new Asterisk([

20 +

$items = new \Setnemo\Asterisk([

21 21

'Europe' => [

22 22

'Ukraine' => [

23 23

'capital' => 'Kyiv',

@@ -58,44 +58,44 @@ composer require setnemo/asterisk-notation

58 58 59 59

## Usage

60 60 61 -

Create a new Asterisk object:

61 +

Create a new \Setnemo\Asterisk object:

62 62 63 63

```php

64 64

use Adbar\Dot;

65 65

use Setnemo\Asterisk;

66 -

$asterisk = new Asterisk;

66 +

$asterisk = new \Setnemo\Asterisk;

67 67

$array = ['first_one' => ['second' => 'value'], 'first_two' => ['second' => 'value'],];

68 68

// With existing array

69 -

$asterisk = new Asterisk($array);

69 +

$asterisk = new \Setnemo\Asterisk($array);

70 70

// With existing \Adbar\Dot

71 71

$dot = new Dot($array);

72 -

$asterisk = new Asterisk($dot);

72 +

$asterisk = new \Setnemo\Asterisk($dot);

73 73

// or existing Asterisk

74 -

$newAsterisk = new Asterisk($asterisk);

74 +

$newAsterisk = new \Setnemo\Asterisk($asterisk);

75 75

```

76 76 77 77

## Methods

78 78 79 79

Asterisk has the following methods:

80 80 81 -

- [add()](#add) // done, test included

82 -

- [all()](#all) // done, test included

83 -

- [clear()](#clear) // use Dot::clear(), test included because used set()

84 -

- [count()](#count) // use Dot::count(), test included because used get()

85 -

- [delete()](#delete) // done, test included

86 -

- [flatten()](#flatten) // use Dot::flatten()

87 -

- [get()](#get) // done, test included

88 -

- [has()](#has) // done, with 2 new parameters, test included

89 -

- [isEmpty()](#isempty) // use Dot::isEmpty(), test included because used get()

90 -

- [merge()](#merge) // use Dot::merge()

91 -

- [mergeRecursive()](#mergerecursive)// use Dot::mergeRecursive()

92 -

- [mergeRecursiveDistinct()](#mergerecursivedistinct)// use Dot::mergeRecursiveDistinct()

93 -

- [pull()](#pull) // use Dot::pull(), **need write tests**, because used get(), clear(), delete()

94 -

- [push()](#push) // use Dot::push(), **need write tests**, because used get(), set()

81 +

- [add()](#add)

82 +

- [all()](#all)

83 +

- [clear()](#clear)

84 +

- [count()](#count)

85 +

- [delete()](#delete)

86 +

- [flatten()](#flatten)

87 +

- [get()](#get)

88 +

- [has()](#has)

89 +

- [isEmpty()](#isempty)

90 +

- [merge()](#merge)

91 +

- [mergeRecursive()](#mergerecursive)

92 +

- [mergeRecursiveDistinct()](#mergerecursivedistinct)

93 +

- [pull()](#pull)

94 +

- [push()](#push)

95 95

- [replace()](#replace) // use Dot::replace(), **need write tests**, because used get(), set()

96 -

- [set()](#set) // done, test included

97 -

- [setArray()](#setarray) // use Dot::setarray()

98 -

- [setReference()](#setreference) // use Dot::setReference()

96 +

- [set()](#set)

97 +

- [setArray()](#setarray)

98 +

- [setReference()](#setreference)

99 99

- [toJson()](#tojson) // use Dot::toJson(), **need write tests**, because used get()

100 100 101 101

<a name="add"></a>

@@ -232,31 +232,31 @@ $asterisk->has([

232 232 233 233

With asterisk:

234 234

```php

235 -

$asterisk = new Asterisk(['1' => ['second' => 'value'],'2' => ['second' => 'value']]);

235 +

$asterisk = new \Setnemo\Asterisk(['1' => ['second' => 'value'],'2' => ['second' => 'value']]);

236 236

$asterisk->has('*.second'); // true

237 -

$asterisk = new Asterisk(['1' => ['first' => ['test' => 42]],'2' => ['second' => 'value'],'3' => ['third' => ['value' => 42]]]);

237 +

$asterisk = new \Setnemo\Asterisk(['1' => ['first' => ['test' => 42]],'2' => ['second' => 'value'],'3' => ['third' => ['value' => 42]]]);

238 238

$asterisk->has('*.*.value'); // true

239 -

$asterisk = new Asterisk(['user1' => ['name' => 'John', 'job' => 'warrior'], 'user2' => ['name' => 'Robin', 'job' => 'archer']);

239 +

$asterisk = new \Setnemo\Asterisk(['user1' => ['name' => 'John', 'job' => 'warrior'], 'user2' => ['name' => 'Robin', 'job' => 'archer']);

240 240

$asterisk->has('*.spouse'); // false

241 241

```

242 242 243 243

With asterisk and value:

244 244

```php

245 -

$asterisk = new Asterisk([]);

245 +

$asterisk = new \Setnemo\Asterisk([]);

246 246

$asterisk->has('*', false); // false

247 -

$asterisk = new Asterisk(['*' => ['second' => 'VALUE']]);

247 +

$asterisk = new \Setnemo\Asterisk(['*' => ['second' => 'VALUE']]);

248 248

$asterisk->has('*.second', 'VALUE'); // true

249 249

$asterisk->has('*.second', 'value'); // false because lowercase

250 -

$asterisk = new Asterisk(['*' => ['second' => 'value'], 0 => [0 => 0], 11 => 11]);

250 +

$asterisk = new \Setnemo\Asterisk(['*' => ['second' => 'value'], 0 => [0 => 0], 11 => 11]);

251 251

$asterisk->has('*.11', 11); // true

252 -

$asterisk = new Asterisk(['1' => ['second' => 'value'],'2' => ['second' => '-']]);

252 +

$asterisk = new \Setnemo\Asterisk(['1' => ['second' => 'value'],'2' => ['second' => '-']]);

253 253

$asterisk->has('*.second', 'value'); // false because 'second' => '-'

254 -

$asterisk = new Asterisk(['1' => ['second' => 'value'],'2' => ['second' => 'value']]);

254 +

$asterisk = new \Setnemo\Asterisk(['1' => ['second' => 'value'],'2' => ['second' => 'value']]);

255 255

$asterisk->has('*.second', 'value'); // true

256 256

```

257 257

With asterisk and value (non-strict mode):

258 258

```php

259 -

$asterisk = new Asterisk([

259 +

$asterisk = new \Setnemo\Asterisk([

260 260

'locations' => [

261 261

'Europe' => [

262 262

'Ukraine' => [

@@ -315,7 +315,7 @@ $asterisk->isEmpty();

315 315 316 316

Also works with asterisk in key:

317 317

```php

318 -

$asterisk = new Asterisk(['user1' => ['name' => 'John'], 'user2' => ['name' => 'Robin']);

318 +

$asterisk = new \Setnemo\Asterisk(['user1' => ['name' => 'John'], 'user2' => ['name' => 'Robin']);

319 319

$asterisk->isEmpty('*.name'); // false

320 320

$asterisk->isEmpty('*.spouse'); // true

321 321

```

@@ -355,12 +355,20 @@ Returns a given default value, if the given key doesn't exist:

355 355

```php

356 356

echo $asterisk->pull('user.name', 'some default value');

357 357

```

358 +

> Default value not work with asterisk in query!

358 359 359 360

Returns all the stored items as an array and clears the Dot object:

360 361

```php

361 362

$items = $asterisk->pull();

362 363

```

363 364 365 +

Key with asterisk:

366 +

```php

367 +

$asterisk = new \Setnemo\Asterisk([['user1' => ['name' => 'John', 'job' => 'warrior'], 'user2' => ['name' => 'Robin', 'job' => 'archer'],]]);

368 +

$result = $asterisk->pull('*.name'); // ['user1.name' => 'John', 'user2.name' => 'Robin']

369 +

$all = $asterisk->all(); // ['user1' => ['job' => 'warrior'], 'user2' => ['job' => 'archer'],]

370 + 371 +

```

364 372

<a name="push"></a>

365 373

### push()

366 374

@@ -380,6 +388,27 @@ $asterisk->push('John');

380 388

$array[] = 'John';

381 389

```

382 390 391 +

With asterisk:

392 +

```php

393 +

$asterisk = new \Setnemo\Asterisk([

394 +

'first_one' => ['second' => 'value'],

395 +

'first_two' => ['second' => 'value']

396 +

]);

397 +

$asterisk->push('*.second', 'John');

398 + 399 +

$asterisk->all();

400 +

/*

401 +

[

402 +

'first_one' => ['second' => ['value','VALUE']],

403 +

'first_two' => ['second' => ['value','VALUE']]

404 +

]

405 +

*/

406 +

```

407 + 408 +

Also work as Asterisk::set('key', 'value', true), where true is asterisk boolean.

409 +

See [Asterisk::set()](#set)

410 + 411 + 383 412

<a name="replace"></a>

384 413

### replace()

385 414

@@ -425,4 +454,4 @@ $asterisk->set([

425 454 426 455

## License

427 456 428 -

[MIT license](LICENSE)

457 +

[MIT license](LICENSE.txt)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4