php - найти элемент в массиве

MagistrYoda
На сайте с 21.12.2008
Offline
91
1259

Есть массив - вида таблицы - id,поле1,поле2

Нужно найти есть ли в строках поля id - искомое значение

Делаю так if (in_array($search_val, $elements['id'])){ - но что то функция не находит, хотя значение в массиве точно есть. Может я как то не так эту функцию использую или другую надо ?

Будь Альфой : Сайт Развития Личности : www.BeAlpha.com (http://bealpha.com) Дорогу осилит идущий. Анти Говно Яндекс - АГЯ - Сообщество вебмастеров - https://vk.com/antigovnoyandex (https://vk.com/antigovnoyandex) вступай в группу
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

Структуру массива дайте через print_r

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
MagistrYoda
На сайте с 21.12.2008
Offline
91
#2
LEOnidUKG:
Структуру массива дайте через print_r

Array ( [0] => stdClass Object ( [id] => 1 [name] => Category 1 [description] => ) [1] => stdClass Object ( [id] => 2 [name] => Category 2 [description] => ) ) 1

Вот надо чтобы функция искала в поле id - записи с искомым id.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3

Массив приведите в нормальный вид, а не в stdClass Object

Как он у вас появляется? Из чего?

Graffy
На сайте с 05.05.2012
Offline
48
#4

function InArray($val,$array)
{
foreach($array as $id_elem => $curr_data)
{
if($curr_data['id']==$val)
return true;
}
return false;
}

объяснять использование думаю не нужно ?

p.s у форума странная реакция на квадратные скобки, замени.

AnyTubes Dorgen v2 (/ru/forum/comment/14276302)
DP
На сайте с 24.04.2012
Offline
16
#5
Graffy:
function InArray($val,$array)

{
foreach($array as $id_elem => $curr_data)
{
if($curr_data['id']==$val)
return true;
}
return false;
}


объяснять использование думаю не нужно ?

Разве что из-за объектов нужно $curr_data->id

Graffy
На сайте с 05.05.2012
Offline
48
#6
developer_php:
Разве что из-за объектов нужно $curr_data->id

действительно, чёртов stdClass), постоянно меня путает), спасибо =)

function InArray($val,$array)

{
foreach($array as $id_elem => $curr_data)
{
if($curr_data->id==$val)
return true;
}
return false;
}
MagistrYoda
На сайте с 21.12.2008
Offline
91
#7
LEOnidUKG:
Массив приведите в нормальный вид, а не в stdClass Object

Как он у вас появляется? Из чего?

Это посути таблица базы данных - которая грузиться в джумловский класс.

А что без циклов в php нет функции поиска по полю массива ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий