Удалить массив из массива в котором есть совпадение по одному из элементов

Есть массив

var_dump

array(3) {
  [0]=>
  object(stdClass)#31244 (14) {
    ["id"]=>
    string(2) "30"
    ["form_id"]=>
    string(1) "3"
    ["post_id"]=>
    string(6) "214515"
    ["created_by"]=>
    string(4) "2352"
    ["created_at"]=>
    string(19) "2020-12-21 11:16:08"
    ["updated_at"]=>
    string(19) "2020-12-21 11:16:08"
    ["status"]=>
    string(6) "normal"
    ["entry_id"]=>
    string(2) "30"
    ["element_id"]=>
    string(2) "14"
    ["value"]=>
    string(2) "42"
  }
  [1]=>
  object(stdClass)#31242 (14) {
    ["id"]=>
    string(2) "31"
    ["form_id"]=>
    string(1) "3"
    ["post_id"]=>
    string(6) "214515"
    ["created_by"]=>
    string(4) "2352"
    ["created_at"]=>
    string(19) "2020-12-22 21:25:42"
    ["updated_at"]=>
    string(19) "2020-12-22 21:25:42"
    ["status"]=>
    string(6) "normal"
    ["entry_id"]=>
    string(2) "31"
    ["element_id"]=>
    string(2) "14"
    ["value"]=>
    string(2) "42"
  }
  [2]=>
  object(stdClass)#31250 (14) {
    ["id"]=>
    string(2) "32"
    ["form_id"]=>
    string(1) "3"
    ["post_id"]=>
    string(6) "214515"
    ["created_by"]=>
    string(2) "42"
    ["created_at"]=>
    string(19) "2020-12-22 23:25:24"
    ["updated_at"]=>
    string(19) "2020-12-22 23:25:24"
    ["status"]=>
    string(6) "normal"
    ["entry_id"]=>
    string(2) "32"
    ["element_id"]=>
    string(2) "14"
    ["value"]=>
    string(2) "42"
  }
}

sql запрос

SELECT * FROM wp_quform_entries
JOIN wp_quform_entry_data ON wp_quform_entry_data.value=".$cur_user_id."
WHERE wp_quform_entries.form_id = ".$idform." && wp_quform_entries.id = wp_quform_entry_data.entry_id

Я хочу убрать массив в котором повторяется элемент created_by он находится в таблице wp_quform_entries

Вижу два варианта, один работать с массивом после запроса, но не удалось реализовать к сожалению, второй составить sql запрос. SELECT DISTINCT помогает только в случае запроса по определенному столбцу, а я запрашиваю все поля с таблицы, по этому мне это не помогает.

Буду рад любой помощи или совету, я в тупике по обоих случаях.


Ответы (1 шт):

Автор решения: yuralucky

Несколько дней назад игрался с такой проблемой держи код

        $arrayTaskId = [];
        $uniqueData = [];
       
        foreach ($data as $item) {
            if (in_array($item->created_by, $arrayTaskId)) {
                
            } else {
                $uniqueData[] = $item;
                $arrayTaskId[] = $item->created_by;
                
            }
        }
        return $uniqueData;
→ Ссылка