0
Ich verwende einen Web-Service, um Produktdetails zu erhalten. Ich möchte zwei Werte vergleichen und, wenn sie gleich sind, "GEFUNDEN" drucken. Aus irgendeinem Grund bekomme ich nichts.Zeichenkette durch Vergleich mit Werten finden
Das Problem ist mit dem letzten IF:
if ($product['ProductId'] == $paxServices['ProductId'])
Dies ist der Ausgang:
paxProID:332 ?? pro:-1
paxProID:332 ?? pro:332
paxProID:332 ?? pro:6
paxProID:6 ?? pro:-1
paxProID:6 ?? pro:332
paxProID:6 ?? pro:6
Wie Sie sehen können, gibt es 2 gleiche Zahlen: 332 (zweite Reihe) und 6 (die letzte Zeile)
der PHP-Code:
foreach ($pnrPaxsXml AS $i => $pax)
{
if ($pax['ID'] == $_GET['paxID'])
{
foreach ($pax->Order AS $i => $paxServices)
{
foreach ($pnrProductsXml AS $i => $product)
{
echo "paxProID:".$paxServices['ProductId']."<>pro:".$product['ProductId']."<br />" ;
if ($product['ProductId'] == $paxServices['ProductId'])
echo "FOUND<br />";
}
}
}
}
Dies bedeutet, dass die Bedingung auch überprüfen, ob die Werte den gleichen Typ haben. Ich verwende nur "==", also überprüfe ich, ob der Wert gleich ist, und das bedeutet weniger Bedingungen ... – Roi
Sie konvertieren gerade beide in int-Typ, so dass Sie vergleichen können – coder