как удалить такой же номер в php?

Я много раз искал. Почти каждый ответ о массиве. В моей ситуации я хочу удалить тот же номер.

<?php $term="1,2,3.4"; $n='2'; //I want to remove 2 when the $n equal one number of $term. // echo out like 1,3,4 ?> 

Related of "как удалить такой же номер в php?"

Это должно сработать для вас:

(Я предполагаю, что 1,2,3.4 точка была только опечаткой)

 <?php $term = "1,2,3,4"; $n = "2"; $arr = explode(",", $term); if(($key = array_search($n, $arr)) !== FALSE) //^^^ to make sure when '$n' is not found in the array, that it doesn't unset the first array element unset($arr[$key]); echo implode(",", $arr); ?> с <?php $term = "1,2,3,4"; $n = "2"; $arr = explode(",", $term); if(($key = array_search($n, $arr)) !== FALSE) //^^^ to make sure when '$n' is not found in the array, that it doesn't unset the first array element unset($arr[$key]); echo implode(",", $arr); ?> 

Вывод:

 1,3,4 

Я много раз искал.

И вы не нашли str_replace() ?

 $string = '1,2,3,4,5,6;' $n = '2'; $string = str_replace($n, '', $string); $string = str_replace(',,', ',', $string); 

Не нужно тратить память на массивы или использовать регулярные выражения.

 $term = "1,2,3,4"; $n = 2; $term_array = explode(',', $term); $n_key = array_search($n, $term_array); if ($n_key !== false) unset($term_array[$n_key]); $new_terms = implode(',', $term_array); с $term = "1,2,3,4"; $n = 2; $term_array = explode(',', $term); $n_key = array_search($n, $term_array); if ($n_key !== false) unset($term_array[$n_key]); $new_terms = implode(',', $term_array); 

Ouput:

 1,3,4 

Надеюсь это поможет

 $n = '2'; $str = '2,1,2,3,4,5,6,2'; $pattern = '/,2|,2,|2,/'; $after = preg_replace($pattern, '', $str); echo $after 

Ouput

1,3,4,5,6

mybe это проще