У меня возникают проблемы с array_diff_assoc, потому что результат неправильный. Im'm получает ключ [3] в результате в $ diff, но он существует как в $ c1, так и в $ c2, поэтому результат в $ diff не имеет смысла, так как я использую array_diff_assoc()
. Я должен получить ключ [0] из $ c2 вместе с двумя другими ключами [1] и [2] из $ diff, которые являются правильными.Проблема с использованием array_diff_assoc в php
результаты QUERY1 в этом массиве $ c2
Array([0] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 22
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 135
[CRITICO] => 1)
[1] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 121
[CRITICO] => 1)
[2] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 123
[CRITICO] => 1)
[3] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 125
[CRITICO] => 1))
Запрос 2 результаты в этом массиве $ c1
Array([0] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 125
[CRITICO] => 1))
Затем я использую $diff=array_diff_assoc($c2,$c1);
и я получаю результаты ниже в массиве $ дифф.
Array([1] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 121
[CRITICO] => 1)
[2] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 123
[CRITICO] => 1)
[3] => Array
([PROCESSO] => 1614436
[DATAMSG] => 2015-04-27 23
[CATEGORIA_DESC] => ECG_HR
[VALOR] => 125
[CRITICO] => 1))
EDIT: Я попытался с помощью $diff=array_udiff_assoc($c2,$c1, array("cr", "comp_func_cr"));
с ниже функции, как в примере php.net, но это возвращение то же самое, как и с array_diff_assoc
.
class cr {
private $priv_member;
function cr($val)
{$this->priv_member = $val;}
static function comp_func_cr($c2, $c1)
{if ($c2->priv_member === $c1->priv_member) return 0;
return ($c2->priv_member > $c1->priv_member)? 1:-1;}}
Не говорю, что это ответ, но вот что-то для справки, в случае, если это помогает: HTTP : //stackoverflow.com/questions/19964353/array-diff-on-array-of-associative-arrays-in-php –