die dynamische Erstellung von array in php
Ich versuche zum erstellen von arrays dynamisch und füllen Sie Sie durch erstellen von array-Namen, die mit Variablen aber ich bin immer folgende Warnungen
Warnung: in_array() erwartet parameter 2 array, null gegeben
Warning: array_push() erwartet parameter 1 to be array, null gegeben
Für single-array dieser Methode gearbeitet, aber für arrays von arrays, das wird nicht funktionieren. Wie sollte dies gemacht werden?
<?php
for ($i = 1; $i <= 23; ++$i)
{
$word_list[$i] = array("1");
}
for ($i = 1; $i <= 23; ++$i)
{
$word = "abc";
$arrayName = "word_list[" . $i . "]";
if(!in_array($word, ${$arrayName}))
{
array_push($$arrayName , $word);
}
}
?>
- versuchen
echo $arrayName
undecho $$arrayName
und sehen, was Sie bekommen. Ich Wette, es ist etwas sinnlos und null-wie die Fehlermeldung sagt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum sogar versuchen, den Namen des Arrays in eine variable und dann de-Referenz name? Warum nicht genau dies tun:
Bekommst du die erste Verwarnung, weil Ihre
$arrayName
variable ist nicht wirklich ein array, du hast es geschafft in einen string.Also statt:
Sollten Sie dieses:
Bekommen Sie Ihre zweite Verwarnung, weil Ihre erste parameter ist kein array.
Also statt:
Sollten Sie dieses:
Wenn Sie diese änderungen vornehmen, erhalten Sie ein array, das so aussieht am Ende:
Und in der for-Schleife greifen Sie auf das array der falsche Weg
Hier ist deine korrigierte code