您好,登錄后才能下訂單哦!
這篇文章給大家介紹php中空字符串與0的關系是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
$_x=$row["x"]; $_y=$row["y"]; if(isset($_x) && isset($_y)){ if($row["y"] == 0 || $row["x"] == 0){ $d=$this->getDistance($row["y"],$row["x"],$y,$x); }elseif(!empty($row["y"]) && !empty($row["x"])){ $d=$this->getDistance($row["y"],$row["x"],$y,$x); }else{ continue; } if($d < $radius){ $list[]= $data[$key]; } }
其實我是想要 過濾掉 經緯度為空的數據,保留經度或緯度為0的數據,但發現在打印列表數據時,總是包含 經緯度為空的數據。
研究了好久,才發現經緯度字段是字符類型,當字段為空時進行 $row['y']== 0
判斷時,PHP進行自動轉換,所以$row['y']== 0
判斷在空字符的情況下是正確的。于是總是包含經緯度為空的數據。那么怎么去掉經緯度為空的數據呢?
其實很簡單如下:
if(isset($_x) && isset($_y)){ if($row["y"] == "0" || $row["x"] == "0"){ $d=$this->getDistance($row["y"],$row["x"],$y,$x);
立即過濾掉經緯度為空的數據。
下面是對preg_replace_callback進行代碼講解
$str="sdjfksdf2345"; $str=preg_replace_callback ( '/\d{4}/', function ($match){ return $match[0]."ff"; }, $str ); echo $str; exit;
代碼運行結果為
sdjfksdf2345ff
該函數就是將正則匹配的結果作為匿名函數的參數,返回的結果作為替換的結果。
關于php中空字符串與0的關系是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。