如何从字符串中删除空格和重复数字

时间:2015-11-14 13:12:10

标签: php mysql

如何从字符串中删除空格和重复数字。我的代码是,

<?php
if(@$get_colors_l > 0)
{
    while($get_colors_r = mysqli_fetch_array($get_colors))
    {
        echo $get_colors_r["color"];  //result is 1,2 1
        $color = explode(",", $get_colors_r["color"]); 

        foreach($color as $color_code)
        {   
            echo $color_code; // result is 1 2 1
            $get_single_color = $filter -> getSingleColor($color_code);

            while($get_single_color_r = mysqli_fetch_array($get_single_color))
            {
?>
                <p class="inline1"><button style="background-color:<?php echo $get_single_color_r["color_code"]; ?>; height:25px; width:25px; border:none"></button></p>
<?php
            }
        }
    }
}
?>

现在上面代码的结果是1 2 1。我希望它为1 2。我想把重复的数字作为单个数字。

如何做到这一点。我不知道。提前谢谢。

2 个答案:

答案 0 :(得分:2)

要从数组中删除重复项,您需要使用PHP的array_unique()

根据您的代码,它可以正常工作:

$color = explode(",", $get_colors_r["color"]); 
$color = array_unique($color);

完整的简化示例,说明它是如何工作的:

<?php 
$colors_str = "1,2,1";
$colors_arr = explode(",",$colors_str);
var_dump($colors_arr);
$colors_arr = array_unique($colors_arr);
var_dump($colors_arr);

答案 1 :(得分:1)

在搜索了很多后,我得到了答案。

            <?php
            if(@$get_colors_l > 0)
            {
                while($get_colors_r = mysqli_fetch_array($get_colors))
                {
                    $color = explode(",", $get_colors_r["color"]);

                    foreach($color as $color_code)
                    {
                        $color_code = $color_code;
                    }

                    $get_single_color = $filter -> getSingleColor($color_code);

                    while($get_single_color_r = mysqli_fetch_array($get_single_color))
                    {
            ?>
                        <p class="inline1"><button style="background-color:<?php echo $get_single_color_r["color_code"]; ?>; height:25px; width:25px; border:none"></button></p>
            <?php
                    }
                }
            }
            ?>