Ich habe dieses PHP-Skript, die Datensätze aus einer SQL-Datenbank abrufen.PHP Array_diif() funktioniert nicht für SQL-Ausgabe-Arrays
$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);
Die Ausgabe des obigen Skripts Dann
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
)
)
war, habe ich die Array Differenz auf den $row1
und $row2
Variablen, wie unten erwähnt,
$x = array_diff($row1,$row2);
jedoch ein error generated saying,
Error: Array to string conversion
Ich habe versucht, das gleiche Konzept mit einem einfachen Skript, wie unten dargestellt,
<?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);
?>
Und die Ausgabe für das obige Skript ist, was ich brauche,
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)
Wie kann ich diese Ausgabe erreichen, ist es möglich, es in diesem Konzept zu bekommen ?.
keine Spam-Tags, das ist kein 'mysql' Problem, sollte u nur relevant markieren Tags –
Versuchen Sie wie folgt: ** $ x = array_diff ($ row1 [0], $ row1 [1], $ row1 [2], $ row2 [0], $ row2 [1]); ** –