2016-04-01 3 views
1

Я извлекаю все базы данных в phpmyadmin в server1 и вызываю это $ array1. Я также извлекаю все базы данных в phpmyadmin в server2 и вызываю это $ array2.Как сравнить массивы и обратную разницу php

Теперь я хочу, чтобы сравнить два массива и возвращает разницу, но я получаю сообщение об ошибке «массив для преобразования строки» Вот мой код:

$db = new MysqliDb (''); 
$db->setHost('server1'); 
$array1=$db->rawQuery('SHOW DATABASES'); 

$db = new MysqliDb (''); 
$db->setHost('server2'); 
$array2=$db->rawQuery('SHOW DATABASES'); 

$result = array_diff($array1, $array2); 

echo'<pre>';  
print_r($result); 
echo'</pre>'; 
+0

Где вы получаете эта ошибка? –

+0

Просьба предоставить образец вывода 'var_dump ($ array1)'. – Furgas

+4

Скорее всего, это потому, что '$ array1' и/или' $ array2' являются многомерными. 'array_diff' работает только с одномерными массивами, отличая все значения в массивах, которые сравниваются со строками. См. [Примечания] (http://php.net/manual/en/function.array-diff.php#refsect1-function.array-diff-notes) на странице руководства 'array_diff'. – Plenka

ответ

0

я получил решение .. array_diff это работает только с обычными массивами, поэтому я разрушивших мои вложенные массивы затем используются array_diff и работали

-3

попытка in_array() функция в PHP Reff: http://php.net/manual/en/function.in-array.php

+0

Как «in_array» сравнивает два массива? Эта функция полезна только для проверки того, доступно ли заданное значение в массиве. – Plenka

+0

да что функция только для проверки заданного значения, если имеющегося в массиве – ernys

1

Опция должна была бы использовать array_udiff()http://php.net/manual/en/function.array-udiff.php. И создайте функцию, необходимую для ваших массивов. (Не может помочь вам без информации о массивах)

+0

это как мой массив выглядит и выдает ошибку, когда я делаю array_diff массив ([0] => Array, ( [База данных] => тест ) [1] => массив ( [Database] => test1 ) ) вар свалка выглядит следующим образом массива (2) { [0] => массив (1) { [ «База данных»] => строка (4) «тест» } [1] => массив (1) { ["База данных"] => строка (5) "test2" } – ernys

Смежные вопросы