@INDIGO1
Просто человек

Как получить ключ массива?

[windows] => Array
        (
            [2] => Array
                (
                    [id] => 4
                    [width] => 500
                    [height] => 1000
                    [upr] => Справа
                    [quantity] => 1
                    [price] => 500
                )

            [3] => Array
                (
                    [id] => 2
                    [width] => 500
                    [height] => 1000
                    [upr] => Справа
                    [quantity] => 1
                    [price] => 500
                )

            [4] => Array
                (
                    [id] => 3
                    [width] => 500
                    [height] => 1000
                    [upr] => Справа
                    [quantity] => 1
                    [price] => 500
                )

        )

В этом массиве как получить к примеру где [id] => 3 его название массива это 4 или [id] => 4 это 2

Вот так можно
foreach ($array as $key => $value) {
    if ($value['id'] == 3) {
        echo $key; //4
    } elseif ($value['id'] == 4) {
        echo $key; //2
    }
}

Но мне бы хотелось как то по короче запись я могу получить так
$found_key = array_search($okno[0]['id'], array_column($win, 'id'));

Но он ни ключ массива дает а просто присваивает с 0 и так далее 1,2,3

Как получить по короче можете подсказать
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F
$key = array_combine(array_column($array, 'id'), array_keys($array))[$id] ?? false;

или

$key = array_search($id, array_map(function($n) {
  return $n['id'];
}, $array));
Ответ написан
Комментировать
xEpozZ
@xEpozZ
Веб-разработчик
array_filter($array, function($row) use ($id) {
    return (int)$row['id'] === $id;
});


sandbox.onlinephpfunctions.com/code/46c139ddbf4f58...
Ответ написан
Ваш ответ на вопрос

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

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