После того, как вы отредактировали, становится ясно, что вы хотите удалить значение $pid
из массива $boom
, который содержит одно число в качестве значения.Вы можете использовать array_search
, чтобы узнать, в каком ключе он находится.Затем вы можете unset
элемент из $boom
:
$pid = '40';
$boom = explode(',', '40,56,12');
$r = array_search($pid, $boom, FALSE);
if ($r !== FALSE) {
unset($boom[$r]);
}
Старый вопрос:
Можете ли вы объединить внутри str_replace как это: ...?
Да, вы можете, посмотрите пример:
$pid = '40';
$boom = array('40,56,12');
print_r(str_replace($pid . ",", "", $boom));
Результат:
Array
(
[0] => 56,12
)
Это очень похоже на то, что вы сделали, поэтому вы можете искатьпроблема не в том месте.Для параметра можно использовать любую строку выражение .
Возможно, вам будет проще, если вы не уверены, что сначала создадите переменную:
$pid = '40';
$boom = array('40,56,12');
$search = sprintf("%d,", $pid);
print_r(str_replace($search, "", $boom));