@aleksandrkotov

Как получить четвертый элемент ассоциативного массива?

Массив:
$names = ["Alex" => "23", "Oleg" => "20", "Roman" => "22", "Sasha" => "19", "Dima" => "32", "Artur" => "25"];
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
@Dark_Dante
function getElement(array $array, int $counter): array
{
    $i = 1;

    foreach ($array as $key => $value) {
        if ($i === $counter) {
            return [$key => $value];
        }
        $i++;
    }
}

$a = ["Alex" => "23", "Oleg" => "20", "Roman" => "22", "Sasha" => "19", "Dima" => "32", "Artur" => "25"];

var_dump(getElement($a, 4));
Ответ написан
delphinpro
@delphinpro Куратор тега PHP
frontend developer
$names = [
    "Alex" => "23",
    "Oleg" => "20",
    "Roman" => "22",
    "Sasha" => "19",
    "Dima" => "32",
    "Artur" => "25"
];

$fourthElement = array_slice($names, 3, 1, true);

var_dump($fourthElement); // ["Sasha" => "19"]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Если за дополнительные строки кода или сэкономленную память не доплачивают, то:
array_values($array)[3]
Ответ написан
Комментировать
FanatPHP
@FanatPHP
Чебуратор тега РНР
перебирать в цикле и считать до четырех
Ответ написан
@Akela_wolf
Extreme Programmer
Строго говоря никак, поскольку элементы в ассоциативном массиве не имеют порядка. В процессе обработки ассоциативного массива порядок ключей сохраняться не обязан, следовательно тут возможны разнообразные трудноотлавливаемые баги. Я бы сказал что это странное желание и нужно разбираться с тем почему оно возникло и зачем получать именно четвертый элемент (я бы еще понял если бы речь шла про пятый элемент :) ).

Ну а если все-таки очень хочется - то см. ответы которые написали выше.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы