/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Intl/Data/Util/RecursiveArrayAccess.php
48 строк
1 KB
Alexander M. Turek
Prefix all sprintf() calls
20 июн 2024, 18:52
20 июн 2024, 18:52
6ce530c
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Intl\Data\Util; use Symfony\Component\Intl\Exception\OutOfBoundsException; /** * @author Bernhard Schussek <bschussek@gmail.com> * * @internal */ class RecursiveArrayAccess { public static function get(mixed $array, array $indices): mixed { foreach ($indices as $index) { // Use array_key_exists() for arrays, isset() otherwise if (\is_array($array)) { if (\array_key_exists($index, $array)) { $array = $array[$index]; continue; } } elseif ($array instanceof \ArrayAccess) { if (isset($array[$index])) { $array = $array[$index]; continue; } } throw new OutOfBoundsException(\sprintf('The index "%s" does not exist.', $index)); } return $array; } private function __construct() { } }