請幫看下代碼$Dss=array(0,0,0,0,0,0,0,0,0,0);for ($i=1;$i<=12;$i++){ //這個循環(huán)是為了取指定的12條數(shù)據(jù) //$sql="從數(shù)據(jù)庫取值"; $row['DSS'] = '1,2,3,4,5,6,7,8,9,10|11,12,13,14,15,16,17,18,19,20'; //取到的值(只有兩條數(shù)據(jù)有值) $Dsx=explode("|",$row['DSS']); //以|分割為數(shù)組 foreach ($Dsx as $Ds=>$v){ //遍歷 if (strpos($v,",")){ //取到值才進(jìn)行操作 $ns=array_pad(explode(",",$v),15,0); //預(yù)防值不夠15位 for($c=0;$c<15;$c++){ //$Dss[$c]=floatval($Dss[$c]); //不轉(zhuǎn)換為原值,一轉(zhuǎn)換就為0 ??? //$ns[$c]=floatval($ns[$c]); //不轉(zhuǎn)換為原值,一轉(zhuǎn)換就為0 ??? $Dss[$c].=$ns[$c]; //拼接正常,不能用+= 否則為0 ??? } } }}var_dump($Dss[0]);如果照上面的代碼運行下來是 string(9) "0111" 值都是正常的。但不能進(jìn)行類型轉(zhuǎn)換,一轉(zhuǎn)換就為0,而我想要的結(jié)果是12.求解
2 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊
終于找到原因了,從數(shù)據(jù)庫取出來的值含有控制字符,在處理前進(jìn)行替換
$row['DSS']=preg_replace( '/[\x00-\x1F]/','',$row['DSS']);
現(xiàn)在結(jié)果完成正確了
- 2 回答
- 0 關(guān)注
- 1073 瀏覽
添加回答
舉報
0/150
提交
取消