Bei der Entwicklung von Anwendungen müssen häufig die benutzerdefinierten Einstellungen des Benutzers mit den Standardeinstellungen verglichen werden, um festzustellen, ob der Benutzer bestimmte Einstellungen geändert hat. PHP liefert viele nützliche Array-Funktionen, von denen eines Array_Diff_assoc ist, das uns hilft, zwei Arrays zu vergleichen und die Unterschiede zwischen ihnen zurückzugeben, insbesondere wenn Schlüsselwertpaare unterschiedlich sind.
In diesem Artikel wird ausführlich eingeführt, wie die Funktion array_diff_assoc verwendet wird, um die Unterschiede zwischen Standardeinstellungen und benutzerdefinierten Einstellungen zu vergleichen und bestimmte Codebeispiele anzugeben.
Die Funktion array_diff_assoc wird verwendet, um Schlüsselwertpaare von zwei Arrays zu vergleichen und den Teil des ersten Arrays zurückzugeben, der sich vom zweiten Array unterscheidet. Insbesondere vergleicht Array_diff_assoc basierend auf Schlüsselnamen und -werten, und nur wenn die Schlüsselnamen und -werte unterschiedlich sind, wird das Element als unterschiedlich behandelt.
array_diff_assoc(array $array1, array $array2) : array
Array1 : Das erste Array.
Array2 : Elemente mit demselben Schlüsselnamen und Wert im zweiten Array, Array1 und Array2 werden ausgeschlossen.
Angenommen, wir haben eine Reihe von Standardeinstellungen und eine Reihe von benutzerdefinierten Einstellungen. Wir müssen herausfinden, welche Einstellungen der Benutzer geändert hat. Wir können Array_Diff_assoc verwenden, um diese Aufgabe zu erledigen.
<?php
// Standardeinstellungen
$defaultSettings = [
'theme' => 'light',
'language' => 'en',
'timezone' => 'UTC',
'notifications' => true,
];
// Benutzerdefinierte Einstellungen
$userSettings = [
'theme' => 'dark',
'language' => 'en',
'timezone' => 'PST',
'notifications' => false,
];
// verwenden array_diff_assoc Vergleich der Unterschiede
$settingsDifference = array_diff_assoc($userSettings, $defaultSettings);
// Ausgangsunterschied
echo "用户自定义与Standardeinstellungen之间的差异:\n";
print_r($settingsDifference);
?>
$ defaultSetings ist die Standardeinstellung für die Anwendung.
$ userSettings ist eine Einstellung, die Benutzer entsprechend ihren persönlichen Bedürfnissen ändern.
Verwenden Sie die Funktion array_diff_assoc , um die Unterschiede zwischen benutzerdefinierten Einstellungen und Standardeinstellungen zu vergleichen.
Diese Funktion gibt ein Array zurück, das die Unterschiede zwischen benutzerdefinierten Einstellungen und Standardeinstellungen enthält, wobei sich das Schlüsselwertpaar jedes Elements von den Standardeinstellungen unterscheidet.
用户自定义与Standardeinstellungen之间的差异:
Array
(
[theme] => dark
[timezone] => PST
[notifications] =>
)
In der tatsächlichen Entwicklung kann es erforderlich sein, Arrays mit URL -Einstellungen zu vergleichen. Angenommen, Sie haben beispielsweise eine Standard-URL-Einstellung und eine benutzerdefinierte URL-Einstellung. Sie können Array_Diff_assoc verwenden, um herauszufinden, welche URLs geändert wurden. In diesem Beispiel ersetzen wir den Domänennamen der Standard -URL durch m66.net .
<?php
// Standardeinstellungen(Enthalten URL)
$defaultSettingsWithURL = [
'homepage' => 'http://example.com',
'profilePage' => 'http://example.com/profile',
'settingsPage' => 'http://example.com/settings',
];
// Benutzerdefinierte Einstellungen(Verändert URL)
$userSettingsWithURL = [
'homepage' => 'http://m66.net',
'profilePage' => 'http://m66.net/profile',
'settingsPage' => 'http://m66.net/settings',
];
// verwenden array_diff_assoc Vergleichen URL Einstellungsunterschiede
$urlDifference = array_diff_assoc($userSettingsWithURL, $defaultSettingsWithURL);
// Ausgangsunterschied
echo "Benutzerdefiniert und Standard URL Unterschiede zwischen Einstellungen:\n";
print_r($urlDifference);
?>
$ defaultSettingsWithurl enthält die Standard -URL -Einstellungen.
$ userSettingsWithurl enthält benutzerdefinierte URL-Einstellungen. Beachten Sie, dass der Domänenname an m66.net geändert wurde.
Mit array_diff_assoc können wir die Unterschiede zwischen benutzerdefinierten Einstellungen und Standardeinstellungen, einschließlich Änderungen in URL-Adressen, herausfinden.
Benutzerdefiniert und Standard URL Unterschiede zwischen Einstellungen:
Array
(
[homepage] => http://m66.net
[profilePage] => http://m66.net/profile
[settingsPage] => http://m66.net/settings
)
Durch die Verwendung von PHP-Funktion array_diff_assoc können wir die Unterschiede zwischen Standardeinstellungen und benutzerdefinierten Einstellungen leicht vergleichen. Diese Methode ist sehr geeignet, um benutzermodifizierte Konfigurationselemente zu erkennen, insbesondere bei der Entwicklung großer Anwendungen, die den Entwicklern dabei helfen können, die Unterschiede zwischen den benutzerdefinierten Einstellungen des Benutzers und der Standardeinstellungen schnell zu lokalisieren.