@@ 2779-2794 (lines=16) @@ | ||
2776 | * @phpstan-return static<array-key,TKey> |
|
2777 | * @psalm-mutation-free |
|
2778 | */ |
|
2779 | public function firstsKeys(int $number = null): self |
|
2780 | { |
|
2781 | $arrayTmp = $this->keys()->toArray(); |
|
2782 | ||
2783 | if ($number === null) { |
|
2784 | $array = (array) \array_shift($arrayTmp); |
|
2785 | } else { |
|
2786 | $array = \array_splice($arrayTmp, 0, $number); |
|
2787 | } |
|
2788 | ||
2789 | return static::create( |
|
2790 | $array, |
|
2791 | $this->iteratorClass, |
|
2792 | false |
|
2793 | ); |
|
2794 | } |
|
2795 | ||
2796 | /** |
|
2797 | * Get and remove the first value(s) from the current array. |
|
@@ 4405-4419 (lines=15) @@ | ||
4402 | * @phpstan-return static<int|TKey,T> |
|
4403 | * @psalm-mutation-free |
|
4404 | */ |
|
4405 | public function mergeAppendKeepIndex(array $array = [], bool $recursive = false): self |
|
4406 | { |
|
4407 | if ($recursive === true) { |
|
4408 | $array = $this->getArrayRecursiveHelperArrayy($array); |
|
4409 | $result = \array_replace_recursive($this->toArray(), $array); |
|
4410 | } else { |
|
4411 | $result = \array_replace($this->toArray(), $array); |
|
4412 | } |
|
4413 | ||
4414 | return static::create( |
|
4415 | $result, |
|
4416 | $this->iteratorClass, |
|
4417 | false |
|
4418 | ); |
|
4419 | } |
|
4420 | ||
4421 | /** |
|
4422 | * Merge the new $array into the current array. |
|
@@ 4447-4461 (lines=15) @@ | ||
4444 | * @phpstan-return static<int,T> |
|
4445 | * @psalm-mutation-free |
|
4446 | */ |
|
4447 | public function mergeAppendNewIndex(array $array = [], bool $recursive = false): self |
|
4448 | { |
|
4449 | if ($recursive === true) { |
|
4450 | $array = $this->getArrayRecursiveHelperArrayy($array); |
|
4451 | $result = \array_merge_recursive($this->toArray(), $array); |
|
4452 | } else { |
|
4453 | $result = \array_merge($this->toArray(), $array); |
|
4454 | } |
|
4455 | ||
4456 | return static::create( |
|
4457 | $result, |
|
4458 | $this->iteratorClass, |
|
4459 | false |
|
4460 | ); |
|
4461 | } |
|
4462 | ||
4463 | /** |
|
4464 | * Merge the the current array into the $array. |
|
@@ 4488-4502 (lines=15) @@ | ||
4485 | * @phpstan-return static<TKey,T> |
|
4486 | * @psalm-mutation-free |
|
4487 | */ |
|
4488 | public function mergePrependKeepIndex(array $array = [], bool $recursive = false): self |
|
4489 | { |
|
4490 | if ($recursive === true) { |
|
4491 | $array = $this->getArrayRecursiveHelperArrayy($array); |
|
4492 | $result = \array_replace_recursive($array, $this->toArray()); |
|
4493 | } else { |
|
4494 | $result = \array_replace($array, $this->toArray()); |
|
4495 | } |
|
4496 | ||
4497 | return static::create( |
|
4498 | $result, |
|
4499 | $this->iteratorClass, |
|
4500 | false |
|
4501 | ); |
|
4502 | } |
|
4503 | ||
4504 | /** |
|
4505 | * Merge the current array into the new $array. |
|
@@ 4530-4544 (lines=15) @@ | ||
4527 | * @phpstan-return static<int,T> |
|
4528 | * @psalm-mutation-free |
|
4529 | */ |
|
4530 | public function mergePrependNewIndex(array $array = [], bool $recursive = false): self |
|
4531 | { |
|
4532 | if ($recursive === true) { |
|
4533 | $array = $this->getArrayRecursiveHelperArrayy($array); |
|
4534 | $result = \array_merge_recursive($array, $this->toArray()); |
|
4535 | } else { |
|
4536 | $result = \array_merge($array, $this->toArray()); |
|
4537 | } |
|
4538 | ||
4539 | return static::create( |
|
4540 | $result, |
|
4541 | $this->iteratorClass, |
|
4542 | false |
|
4543 | ); |
|
4544 | } |
|
4545 | ||
4546 | /** |
|
4547 | * @return ArrayyMeta|mixed|static |