Как сделать поиск в php массиве по значению

Аватар пользователя Roman Ashikov
Roman Ashikov
24 ноября 2021

Можно использовать встроенную функцию array_search(), она возвращает ключ найденного элемента. Затем мы можем получить и сам элемент по этому ключу.

<?php

$numbers = [1, 2, 'salad', 'potato'];
$potatoIndex = array_search('potato', $numbers); // 3
print_r($numbers[$potatoIndex]); //=> potato
0 0
Аватар пользователя Аслан Аутлев
Аслан Аутлев
08 ноября 2022

Поиск значения с помощью цикла foreach().

foreach ($array as $value) {
    ...
}
foreach ($array as $key => $value) {
    ...
}

Если значение подразумевает не полное соответствие, а частичное, то применяют обычно цикл с проверкой на вхождение искомого значения в значениях массива:

<?php

$array = [
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3',
    'key4' => 'value4',
    'key5' => 'value5',
];

$result = '';
foreach ($array as $value) {
    if (str_contains($value, '5')) {
        $result = $value;
    }
}

echo($result); // => value5
0 0
Познакомьтесь с основами PHP бесплатно