Ich habe mich gefragt, ob noch eine Möglichkeit, Arrays in PHP zu filtern, so etwas wie dies über tun:Filtering-Arrays in PHP durch Parameter
if (!in_array("something",$something)
Nun würde Ich mag alle Werte erhalten, die durch die nicht übereinstimmen Suchkriterium.
Zum Beispiel, wenn ich ein Array wie diese:
$options = array("Preview", "Live", "Completed");
und ich den Wert für die Suche übergeben: „Vorschau“, würde ich diese beiden Elemente in dem Array zurückkommen „Live“ und " Abgeschlossen "als Ergebnis meiner Array-Filterung ...
Gibt es einen Weg, wie ich das tun könnte?
Edit:
Wir haben eine erste Array wie folgt:
$options = array("Preview", "Live", "Completed");
Anfängliche Eingabe in die Suche von Array "Vorschau" string.
Output-Array, das Ich mag würde es sein soll:
$newArray = array("Live", "Completed");
EDIT EDIT (WAS IM TATSÄCHLICH ZU ERREICHEN TRYING):
Hallo Jungs das ist, was ich versuche tatsächlich zu tun :
<?php foreach($active_brand as $brand?>
<select>
<?php if (in_array($brand['State'], $options)) { ?>
<option selected="selected" value="<?=$brand['id']?>"><?=$brand['State']?></option>
<?php }?>
<?php for($i=1;$i<count($options);$i++) { ?>
<option value="<?=$brand['id']?>"><?=array_diff($options, array($brand['State']))[$i]?></option>
<?php }?>
</select>
<?php }?>
Wie sie sehen können, habe ich eine Spalte in meiner DB habe, die einen „Staat“ genannt wird ... Es ist im Grunde ein varchar, wo ich meine Zeichenfolge halten gespeichert ... Marke Zustand kann das nur sein 3 folgende Zustände:
Preview => Live => Completed
Das erste, was ich tun, um den aktuellen Wert gesetzt Liste auszuwählen wie folgt vor:
<?php if (in_array($brand['State'], $options)) { ?>
<option selected="selected" value="<?=$brand['id']?>"><?=$brand['State']?></option>
<?php }?>
Jetzt habe ich ein Array wie dies in meinem phtml Datei wie folgt definiert:
$options = array("Preview", "Live", "Completed");
Jetzt versuche ich einfach, die Zustände herauszufiltern, die nicht im Array sind, und sie in meinem Auswahl-Tag wie folgt zu platzieren:
<?php for($i=1;$i<count($options);$i++) { ?>
<option value="<?=$brand['id']?>"><?=array_diff($options, array($brand['State']))[$i]?></option>
<?php }?>
so dass die Struktur in meiner Auswahlliste ist wie folgt:
Aktueller Stand der Marke => defaultly ausgewählt => die beiden fehlenden Zustände hinzufügen Liste auszuwählen (aber nicht das aktuelle hinzuzufügen, die in gesetzt DB) ...
Kann mir jemand helfen?
Können Sie bitte "Beispieleingabe" und "Beispielausgabe" hinzufügen? – Will
Hallo Werde ich meine Frage bearbeitet, können Sie jetzt darüber nachdenken? – perkes456
Bitte zeigen Sie uns, was Sie bereits versucht haben und was nicht funktioniert –