如何在PHP中删除相同的数字?

时间:2015-03-03 07:30:22

标签: 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

?>

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

也许它更简单