было интересно, если Theres способ фильтровать массивы в PHP с помощью делать что-то вроде этого:Фильтрация массивов в PHP по параметру
if (!in_array("something",$something)
Теперь я хотел бы получить все значения, которые НЕ подкреплялись критерий поиска.
Например, если у меня есть массив как это:
$options = array("Preview", "Live", "Completed");
и я передать значение для поиска: «Предварительный просмотр», я хотел бы, чтобы вернуть эти два элемента в массиве «Live» и " Завершено "в результате моей фильтрации массивов ...
Есть ли способ, которым я мог это сделать?
Edit:
У нас есть начальный массив так:
$options = array("Preview", "Live", "Completed");
Первоначальный ввод в поисках массива "Preview" строка.
Выходной массив, который я хотел бы, чтобы это было это:
$newArray = array("Live", "Completed");
EDIT EDIT (ЧЕГО IM ДЕЙСТВИТЕЛЬНО ПЫТАЮТСЯ ДОБИТЬСЯ):
Привет, ребята, это то, что я на самом деле пытается сделать :
<?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 }?>
Как вы можете видеть, ребята, у меня есть столбец в моей БД, которая называется «государство» ... Это в основном VARCHAR, где я держу мои строки хранятся ... Марка состояние может быть только 3 следующих состояния:
Preview => Live => Completed
Первое, что я сделать, это установить текущее значение для выбора списка, как следующее:
<?php if (in_array($brand['State'], $options)) { ?>
<option selected="selected" value="<?=$brand['id']?>"><?=$brand['State']?></option>
<?php }?>
Теперь я определил массив, как это в моем файле PHTML так:
$options = array("Preview", "Live", "Completed");
Теперь я просто пытаюсь отфильтровать состояния, которые не находятся в массиве, и поместить их в свой тег select следующим образом:
<?php for($i=1;$i<count($options);$i++) { ?>
<option value="<?=$brand['id']?>"><?=array_diff($options, array($brand['State']))[$i]?></option>
<?php }?>
Так что структура в моем списке выбора, как следующее:
Текущее состояние бренд => defaultly выбрано => добавить два отсутствующие состояния, чтобы выбрать список (но не добавить текущий, который установлен в DB) ...
Может кто-нибудь помочь мне?
Можете ли вы добавить «пример ввода» и «пример вывода»? – Will
Привет, я отредактировал свой вопрос, можете ли вы заглянуть в него сейчас? – perkes456
Пожалуйста, покажите нам, что вы уже пробовали и что не работает –