Ich habe zwei Sätze von Arrays aus $_POST
. Schlüssel für beide wird numerisch und die Zählung wird die gleiche sein, da sie in Paaren als Namen und Nummern kommen:Kombinieren Sie Post-Werte und entfernen Sie leere
$_POST[names]
(
[0] => First
[1] => Second
[2] =>
[3] => Fourth
)
$_POST[numbers]
(
[0] => 10
[1] =>
[2] => 3
[3] => 3
)
Jetzt muss ich die beiden kombinieren, aber jeder Eintrag entfernen, in denen entweder Werte fehlen.
Das Ergebnis sollte sein, so etwas wie:
$finalArray
(
[First] => 10
[Fourth] => 3
)
Post-Daten dynamisch erstellt wird, so könnte es verschiedene Werte fehlen, basierend auf Benutzereingaben.
Ich habe versucht, etwas zu tun, wie:
if (array_key_exists('names', $_POST)) {
$names = array_filter($_POST['names']);
$numbers = array_filter($_POST['numbers']);
if($names and $numbers) {
$final = array_combine($names, $numbers);
}
}
Aber ich kann nicht scheinen, korrekt zu filtern, da du mir einen Fehler geben:
Warning: array_combine(): Both parameters should have an equal number of elements
können wir davon ausgehen, dass beide Felder immer die gleiche Zählung haben, und dass die Schlüssel immer numerisch sein? –
Ja, beide Schlüssel sind numerisch und die Anzahl ist gleich, da sie paarweise als Namen und Zahlen vorkommen. – Alko
@Alko Ich habe jeder Antwort einige relevante Kommentare hinzugefügt. Sehen Sie sich die Seite an, um einige Einblicke zu erhalten, die für Sie und andere von Interesse sein könnten. – mickmackusa