Ich habe zwei Array, das erste sieht so aus (beachten Sie, dass created
und approved
sind nur zwei von etwa sechs Element für dieses Beispiel);Wie überprüfen, ob ein Array-Schlüssel in einem anderen Array vorhanden ist
Array
(
[created] => Array
(
[label] => Order created
[roles] => Array
(
[0] => ROLE_USER
)
[next_states] => Array
(
[approve] => Array
(
[target] => approved
)
)
)
[approved] => Array
(
[label] => Order approved
[roles] => Array
(
[0] => ROLE_USER
)
[next_states] => Array
(
[order] => Array
(
[target] => ordered
)
)
)
)
Sobald Schritt (wie created
etc.) abgeschlossen ist, wird ein weiterer Array wie folgt aufgefüllt; (Hier können Sie dieses Array nennen arrayFinished
)
Array
(
[created] => 1
)
Wie kann ich diese zwei Arrays vergleichen drei verschiedene Zustände zu erhalten; completed
, active
und disabled
. Etwas wie; Wenn Schritt created
in arrayfinished
Echo abgeschlossen ist, wird der Schritt created
von elseif zu arrayfinished
echo active hinzugefügt, sonst deaktiviert.
Dies ist, was ich versucht habe, aber ich bekomme eine falsche Ausgabe;
foreach ($steps as $key => $value) {
if (array_key_exists($key, $arrayFinished)) {
echo $value['label'] . ' is complete<br>';
} elseif ($key === end($arrayFinished)) {
echo $value['label'] . ' is active<br>';
} else {
echo $value['label'] . ' is disabled<br>';
}
}
Dies ist Mai Ausgabe von oben foreach
:
Order created is complete
Order approved is disabled
Order ordered is disabled
Order delivered is disabled
Invoice verified correct is disabled
Invoice paid is disabled
Die ersten (erstellt) aktiv sein soll, weil es die ‚letzte‘ ein in der Anordnung ist.
Kann mir jemand bitte helfen, das zu bekommen, weil ich jetzt ein paar Stunden mit etwas kämpfe, das einfach klingt. Wird der Zweig einfacher? Weil ich eine Div-Klasse auf den zurückgegebenen Wert setzen muss.
Wenn in PHP getan, wie bekomme ich es zu Twig?
Bitte, ich brauche verzweifelt Hilfe.
'end' wird Ihnen den letzten' Wert' in der Array nicht den Schlüssel geben. Sie können 'end (array_keys ($ arrayFinished))' 'tun, jedoch wäre es besser, den letzten Schlüssel in einer Variablen vor der Schleife zu speichern, um die Leistung einer kleinen Sache zu verbessern. – ArtisticPhoenix
@RyanVincent Ich verstehe nicht, was Sie meinen –