Найти элемент в объекте Laravel

Ниже вывод моего объекта laravel...

$my_array = Array( [0] => stdClass Object ( [From] => name1 [To] => name12 [Message] => hey) [1] => stdClass Object ( [From] => name13 [To] => name143 [Message] => byeeeeee)

Мне нужно найти name12 присутствует или нет без использования foreach loop... как мне это сделать??? Я пытался...

if (in_array('name12', $my_array)) {
    echo "Match found";
}
else {
    echo "Match not found";
}

В любом случае, чтобы это исправить?

2 ответа

Решение
if count(
    array_filter(
        $my_array,
        function($value) {
            return $value->From == 'name12';
        }
    ) > 0) {
    echo "Match found";
} else {
    echo "Match not found";
}

У вас есть два объекта в массиве и первые два ключа:

$ my_array [0] и $my_array[1]

Если вы уверены, что знаете количество элементов в массиве, вы можете сделать что-то вроде этого:

if(
$my_array[0]->From === 'name12' ||
$my_array[0]->To === 'name12' ||
$my_array[1]->From === 'name12' ||
$my_array[1]->To === 'name12'
){
  echo "Match found";
} else{
  echo "Match not found";
}
Другие вопросы по тегам