J'ai ce script PHP qui récupère les enregistrements d'une base de données SQL.PHP array_diif() ne fonctionne pas pour les tableaux de sortie SQL
$sql1 = "SELECT TOP 3 id,hipoName FROM t2o_hipo_list";
$sql2 = "SELECT TOP 3 id,hipoName FROM hipo_list";
$result1 = sqlsrv_query($conn,$sql1);
$result2 = sqlsrv_query($conn,$sql2);
$row1=[];
$row2=[];
while ($rs1 = sqlsrv_fetch_array($result1, SQLSRV_FETCH_ASSOC)) {
$row1[] = $rs1;
}
while ($rs2 = sqlsrv_fetch_array($result2, SQLSRV_FETCH_ASSOC)) {
$row2[] = $rs2;
}
print_r($row1);
print_r($row2);
La sortie du script ci-dessus était,
Array
(
[0] => Array
(
[id] =>
[hipoName] => Channa
)
[1] => Array
(
[id] =>
[hipoName] => Chaminda
)
[2] => Array
(
[id] =>
[hipoName] => Niroshana
)
)
Array
(
[0] => Array
(
[id] => 2531
[hipoName] => Chaminda
)
[1] => Array
(
[id] => 2532
[hipoName] => Niroshana
)
)
Puis, je la différence de tableau sur les variables $row1
et $row2
, comme mentionné ci-dessous,
$x = array_diff($row1,$row2);
Cependant, un erreur générée en disant,
Error: Array to string conversion
J'ai essayé le même concept avec un simple script comme indiqué ci-dessous,
<?php
$active = ['a','b','c','d','e'];
$current = ['b','c','f','g'];
echo 'data 1: ';
print_r($active);
echo '<br/>';
echo 'data 2: ';
print_r($current);
echo '<br/><br/>';
$a1 = array_diff($active,$current);
$a2 = array_diff($current,$active);
echo 'output 1: ';
print_r($a1);
echo '<br/>';
echo 'outut 2: ';
print_r($a2);
?>
et la sortie pour le script ci-dessus est ce que je dois,
data 1: Array ([0] => a [1] => b [2] => c [3] => d [4] => e)
data 2: Array ([0] => b [1] => c [2] => f [3] => g)
output 1: Array ([0] => a [3] => d [4] => e)
outut 2: Array ([2] => f [3] => g)
Comment puis-je obtenir ce résultat, est -il possible de l'obtenir dans ce même concept?
font pas les balises de spam, ce n'est pas un problème 'de mysql', u ne devrait étiquette balises pertinentes –
Essayez comme ** $ x = array_diff ($ row1 [0], $ row1 [1], $ row1 [2], $ row2 [0], $ row2 [1]); ** –