[英]PHP remove duplicated values from mssql fetch array
I have working php mssql query codes with array but output don't delete same chars. 我有使用数组的PHP mssql查询代码,但输出不会删除相同的字符。 My codes here 我的代码在这里
$querysfzzrf88 = " SELECT * FROM Style WHERE StyleNo='$StyleNo'";
$resultsfzzrf88 = mssql_query($querysfzzrf88);
//display the results
while($rowsfzzrf88 = mssql_fetch_array($resultsfzzrf88))
{
$Status88 = $rowsfzzrf88["Status"];
echo $Status88;
}
Output 产量
LNNNMMMMMMM
Also 也
var_dump($Status88);
Gives Like this 这样给
string(1) "N" string(1) "N" string(1) "N" string(1) "L"
I want Output 我想要输出
LNM
use count_chars()
使用count_chars()
$str = "LNNNMMMMMMM";
echo count_chars($str, 3);
Second parameter is mode
, 第二个参数是mode
,
3 - a string containing all unique characters is returned.
Edit 编辑
Try this, 尝试这个,
$str = " LNNNMMMMMMM";
echo preg_replace("/(.)\\1+/", "$1", $str); or echo preg_replace('/(.)\1+/', '$1', $str);
sorry if I misunderstood your question, is this what you've expected: 抱歉,如果我误解了您的问题,这是您所期望的吗?
<?php
$chars = 'LNNNMMMMMMM';
$array = str_split($chars);
$array = array_count_values($array);
$array = array_flip($array);
echo implode('', $array);
?>
it produces LNM
as a result 结果产生了LNM
UPDATE: 更新:
//display the results
$duplicated88 = $Status88 = $unique88 = array();
while($rowsfzzrf88 = mssql_fetch_array($resultsfzzrf88)){
$duplicated88[] = $Status88[] = $unique88[] = $rowsfzzrf88["Status"];
}
sort($unique88);
sort($duplicated88);
$unique88 = implode('', array_unique($unique88));
print($unique88);
USE DISTINCT
in your mysql query to avoid duplicate values: 在MySQL查询中使用DISTINCT
以避免重复值:
$querysfzzrf88 = " SELECT DISTINCT status FROM Style WHERE StyleNo='$StyleNo'";
$resultsfzzrf88 = mssql_query($querysfzzrf88);
//display the results
while($rowsfzzrf88 = mssql_fetch_array($resultsfzzrf88))
{
$Status88 = $rowsfzzrf88["Status"];
echo $Status88;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.