| @@ 622-646 (lines=25) @@ | ||
| 619 | * @psalm-suppress PossiblyInvalidArgument  | 
                                |
| 620 | * @psalm-suppress InvalidScalarArgument  | 
                                |
| 621 | */  | 
                                |
| 622 | if (  | 
                                |
| 623 | $this->pathSeparator  | 
                                |
| 624 | &&  | 
                                |
| 625 | (string) $offset === $offset  | 
                                |
| 626 | &&  | 
                                |
| 627 | \strpos($offset, $this->pathSeparator) !== false  | 
                                |
| 628 |         ) { | 
                                |
| 629 | $explodedPath = \explode($this->pathSeparator, (string) $offset);  | 
                                |
| 630 |             if ($explodedPath !== false) { | 
                                |
| 631 | /** @var string $lastOffset - helper for phpstan */  | 
                                |
| 632 | $lastOffset = \array_pop($explodedPath);  | 
                                |
| 633 | $containerPath = \implode($this->pathSeparator, $explodedPath);  | 
                                |
| 634 | ||
| 635 | /**  | 
                                |
| 636 | * @psalm-suppress MissingClosureReturnType  | 
                                |
| 637 | * @psalm-suppress MissingClosureParamType  | 
                                |
| 638 | */  | 
                                |
| 639 | $this->callAtPath(  | 
                                |
| 640 | $containerPath,  | 
                                |
| 641 |                     static function ($container) use ($lastOffset, &$offsetExists) { | 
                                |
| 642 | $offsetExists = \array_key_exists($lastOffset, $container);  | 
                                |
| 643 | }  | 
                                |
| 644 | );  | 
                                |
| 645 | }  | 
                                |
| 646 | }  | 
                                |
| 647 | ||
| 648 | return $offsetExists;  | 
                                |
| 649 | }  | 
                                |
| @@ 719-746 (lines=28) @@ | ||
| 716 | * @psalm-suppress PossiblyInvalidArgument  | 
                                |
| 717 | * @psalm-suppress InvalidScalarArgument  | 
                                |
| 718 | */  | 
                                |
| 719 | if (  | 
                                |
| 720 | $this->pathSeparator  | 
                                |
| 721 | &&  | 
                                |
| 722 | (string) $offset === $offset  | 
                                |
| 723 | &&  | 
                                |
| 724 | \strpos($offset, $this->pathSeparator) !== false  | 
                                |
| 725 |         ) { | 
                                |
| 726 | $path = \explode($this->pathSeparator, (string) $offset);  | 
                                |
| 727 | ||
| 728 |             if ($path !== false) { | 
                                |
| 729 | $pathToUnset = \array_pop($path);  | 
                                |
| 730 | ||
| 731 | /**  | 
                                |
| 732 | * @psalm-suppress MissingClosureReturnType  | 
                                |
| 733 | * @psalm-suppress MissingClosureParamType  | 
                                |
| 734 | */  | 
                                |
| 735 | $this->callAtPath(  | 
                                |
| 736 | \implode($this->pathSeparator, $path),  | 
                                |
| 737 |                     static function (&$offset) use ($pathToUnset) { | 
                                |
| 738 |                         if (\is_array($offset)) { | 
                                |
| 739 | unset($offset[$pathToUnset]);  | 
                                |
| 740 |                         } else { | 
                                |
| 741 | $offset = null;  | 
                                |
| 742 | }  | 
                                |
| 743 | }  | 
                                |
| 744 | );  | 
                                |
| 745 | }  | 
                                |
| 746 | }  | 
                                |
| 747 | ||
| 748 | unset($this->array[$offset]);  | 
                                |
| 749 | }  | 
                                |