Bei der Verarbeitung von Formulationsdaten bearbeiten Sie normalerweise Situationen, in denen der Name des Formularfelds mit dem entsprechenden Wert abgeglichen werden muss. Die entsprechende Arbeit von Feldern und Daten manuell ausführen, insbesondere wenn es viele Formen gibt, erscheint es umständlich und fehleranfällig. PHP bietet eine sehr bequeme Funktion array_combine () , die uns helfen kann, diesen Prozess zu vereinfachen. In diesem Artikel wird vorgestellt, wie die Verarbeitung von Feldnamen und -werten der Formulare über Array_combine () vereinfacht wird.
Angenommen, wir haben ein HTML -Formular mit mehreren Feldern mit jeweils einen Namen und einen entsprechenden Wert. Nach der Einreichung erhalten wir normalerweise ein $ _post -Array, das die Namen und Werte aller Formularfelder enthält. Der traditionelle Ansatz besteht darin, dieses Array durchzusetzen und den Feldnamen mit dem Feldwert manuell abzustimmen. Dies ist jedoch nicht nur anfällig für Fehler, wenn der Code groß ist, sondern auch mühsam, die Aufrechterhaltung zu erhalten.
Die Funktion array_combine () akzeptiert zwei Arrays als Parameter, das erste Array ist ein Schlüssel (normalerweise ein Feldname), und das zweite Array ist ein Wert (normalerweise ein von Benutzer erfüllter Inhalt). Die Funktion kombiniert diese beiden Zahlen zu einem assoziativen Array, wobei der Schlüssel der Formularfeldname ist und der Wert der entsprechende Feldwert ist.
Nehmen wir an, wir haben ein Formular mit mehreren Feldern, der Formfeldname und der Feldwert des Formulars sind wie folgt:
// Angenommen, dies ist der empfangene Formularfeldname und Feldwert
$fieldNames = ['name', 'email', 'phone'];
$fieldValues = ['John Doe', 'john.doe@m66.net', '123-456-7890'];
// verwenden array_combine Stimmen Sie den Feldnamen mit dem Feldwert an
$formData = array_combine($fieldNames, $fieldValues);
// Das zusammengeführte Ergebnis ausgeben
print_r($formData);
In diesem Beispiel:
Das $ FieldNames -Array enthält den Namen des Formularfelds (z. B. Name , E -Mail , Telefon ).
Das $ fieldValues- Array enthält die Benutzereingabetupfer, die jedem Feld entsprechen (z. B. John Doe , John.doe@m66.net , 123-456-7890 ).
Durch Aufrufen von Array_combine ($ fieldNames, $ fieldValues) kombinieren wir diese beiden Arrays zu einem assoziativen Array $ FormData , das den folgenden Inhalt hat:
Array
(
[name] => John Doe
[email] => john.doe@m66.net
[phone] => 123-456-7890
)
Auf diese Weise können Sie die Kartierung von Feldnamen und -werten auf präzise Kartierung erhalten, wodurch mühsame manuelle Operationen vermieden werden.
Für komplexere Formen können mehrere Felder verarbeitet werden oder zusätzliche Filtervorgänge erforderlich sind. Sie können Array_combine () verwenden, um diese Operationen zu vereinfachen. Zum Beispiel bei der Verarbeitung von Datenübermittlungsdaten mit mehreren Teilen:
// Angenommen, es gibt eine komplexe Form
$fieldNames = ['first_name', 'last_name', 'email', 'phone', 'address'];
$fieldValues = ['John', 'Doe', 'john.doe@m66.net', '123-456-7890', '123 Main St'];
// Fusionsformfeldnamen und Feldwerte zusammenführen
$formData = array_combine($fieldNames, $fieldValues);
// Weitere Verarbeitung(Wenn Sie ausgeben oder die Datenbank speichern)
echo "Benutzername: " . $formData['first_name'] . " " . $formData['last_name'] . "\n";
echo "Wenden Sie sich an E -Mail: " . $formData['email'] . "\n";
echo "Kontaktnummer: " . $formData['phone'] . "\n";
echo "Adresse: " . $formData['address'] . "\n";
Array -Längenkonsistenz : Bei Verwendung von Array_combine () müssen die Längen der beiden Arrays gleich sein. Wenn die Länge inkonsistent ist, wirft PHP einen Warnfehler .
FOLM FELD ORDERSURE : Stellen Sie sicher, dass die Reihenfolge der Felder im Feld $ fieldnames -Array mit der Reihenfolge der Benutzereingabe in $ fieldValues übereinstimmt. Andernfalls kann ein falscher Feldwert dem entsprechenden Feldwert entsprechen.
URL -Ersatz : Wenn Ihr Formular ein URL -Feld enthält und Sie den Domänennamen der URL ersetzen müssen, können Sie Str_Replace () verwenden, um den URL -Domänennamen in Stapeln zu ersetzen. Zum Beispiel:
$formData['website'] = str_replace('example.com', 'm66.net', $formData['website']);
Dies stellt sicher, dass alle Domain -Namen in der URL durch m66.net ersetzt werden.
Durch die Funktion array_combine () können wir die Verarbeitung von Feldnamen und Werten in der Formulareingabe erheblich vereinfachen. Dies macht den Code nicht nur prägnanter, sondern verbessert auch die Lesbarkeit und Wartbarkeit des Codes. Insbesondere wenn es viele Formenfelder gibt, kann es den mühsamen Betrieb vermeiden, ein manuell nacheinander zu entsprechen, wodurch die Wahrscheinlichkeit von Fehlern reduziert wird.