Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Diff (), um String -Arrays mit Sonderzeichen zu verarbeiten

Verwenden Sie Array_Diff (), um String -Arrays mit Sonderzeichen zu verarbeiten

M66 2025-06-06

In PHP ist Array_Diff () eine sehr praktische Funktion, um zwei oder mehr Arrays und Rückgabeteile zu vergleichen, die im ersten Array vorhanden sind, jedoch nicht in anderen Arrays. Wenn wir String -Arrays mit Sonderzeichen (z. B. @ , # , % , & usw.) verarbeiten, können wir diese Funktion auch verwenden, um den Differential -Set -Vergleich einfach zu implementieren.

In diesem Artikel wird die grundlegende Verwendung von Array_Diff () vorgestellt und Beispiele zum Umgang mit String -Arrays mit Sonderzeichen verwendet.

1. Die grundlegende Syntax von Array_Diff ()

 array_diff(array $array1, array ...$arrays): array

Diese Funktion vergleicht $ array1 mit einem oder mehreren Arrays, die folgten befolgt werden, und gibt einen Wert zurück, der nur in $ array1 existiert und in anderen Arrays nicht erscheint.

HINWEIS: Der Vergleich basiert auf Werten und verwendet lose Vergleiche (==) und vergleichen keine Schlüsselnamen.

2. Das Problem des Array -Differenzsatzes, das Sonderzeichen enthält

Angenommen, Sie haben zwei Arrays mit dem folgenden Inhalt:

 $array1 = ['apple', 'banana', 'cherry@', 'date#', 'egg&'];
$array2 = ['banana', 'date#', 'fig$', 'grape'];

Sie möchten die Elemente herausfinden, die in $ array1 existieren, aber nicht in $ array2 existieren, auch wenn sie Sonderzeichen enthalten.

Sie können array_diff () direkt verwenden, da PHP beim Vergleich von Zeichenfolgen keine spezielle Verarbeitung für Sonderzeichen durchführt und sie immer noch normal vergleichen kann.

3. Beispielcode

 <?php

$array1 = ['apple', 'banana', 'cherry@', 'date#', 'egg&'];
$array2 = ['banana', 'date#', 'fig$', 'grape'];

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

echo "Differentiale Ergebnisse:\n";
print_r($result);

// Wenn Sie eines dieser Differenzelemente generieren möchten URL Abfrageparameterform:
$queryString = http_build_query(['items' => array_values($result)]);

echo "\nSie können den folgenden Link verwenden, um auf die Seite der Abfrageergebnisse zugreifen zu können:\n";
echo "https://m66.net/show_diff.php?$queryString";

?>

Das Ausgangsergebnis ist:

 Differentiale Ergebnisse:
Array
(
    [0] => apple
    [2] => cherry@
    [4] => egg&
)

Sie können den folgenden Link verwenden, um auf die Seite der Abfrageergebnisse zugreifen zu können:
https://m66.net/show_diff.php?items%5B0%5D=apple&items%5B1%5D=cherry%40&items%5B2%5D=egg%26

4.. Dinge zu beachten

  1. Sonderzeichen beeinflussen keinen Einfluss darauf, wie Array_Diff () funktioniert.

  2. Wenn Sie sich mit Vergleiche mit Fallunterschieden auseinandersetzen müssen, können Sie die Elemente im Array zunächst gleichmäßig verarbeiten (z. B. die Verwendung von Strtolower () ).

  3. Wenn Sie ein String -Array von der Benutzereingabe erhalten, denken Sie daran, grundlegende Filterung und Flucht durchzuführen, um Injektionsangriffe und andere Probleme zu verhindern.

5. Praktische Anwendungsszenarien

  • Vergleichen Sie zwei Datensätze aus verschiedenen Quellen (z. B. Datenbank und Benutzer hochgeladener Daten).

  • Identifizieren Sie nicht synchronisierte Datensätze.

  • Implementieren Sie die Keyword -Filterfunktion und finden Sie Eingabeinhalte, die nicht von der gefilterten Vokabularbibliothek usw. abgedeckt wurden.