我做了很多搜索。几乎每个答案都是关于阵列的。在我的情况下,我想删除相同的号码。
<?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
?>
答案 0 :(得分:1)
这应该适合你:
(我假设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);
?>
输出:
1,3,4
答案 1 :(得分:0)
$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);
输出:
1,3,4
希望这有帮助
答案 2 :(得分:0)
我做了很多搜索。
你没有找到str_replace()
功能?
$string = '1,2,3,4,5,6;'
$n = '2';
$string = str_replace($n, '', $string);
$string = str_replace(',,', ',', $string);
无需使用数组或使用正则表达式浪费内存。
答案 3 :(得分:0)
$n = '2';
$str = '2,1,2,3,4,5,6,2';
$pattern = '/,2|,2,|2,/';
$after = preg_replace($pattern, '', $str);
echo $after
输出
1,3,4,5,6
也许它更简单