我試圖從包含數字的自行車模型列表中篩選出結果,例如:「BAJAJ CT 100 ALLOY」。在使用ctype_alpha()檢查數字結果之前,我正在使用str_replace刪除空格。它似乎沒有工作。我完全迷失了。 這裏是我的PHP代碼:php ctype_alpha不適用於MySQL數據庫數據
$query="SELECT * FROM vehicleList WHERE 1;";
$result=mysqli_query($db,$query);
if(mysqli_num_rows($result) != 0) {
$bikeListArr = array();
$carListArr = array();
while($row=mysqli_fetch_array($result)) {
if($row["type"] == "bike") {
// echo str_replace(' ','',$row["model"]) . "\n";
if(ctype_alpha(str_replace(' ','',$row["model"]))) {
array_push($bikeListArr,$row["id"],$row["model"],$row["category"]);
}
else echo $row["model"] . " -- DROPPED\n";
} else {
array_push($carListArr,$row["id"],$row["model"],$row["category"]);
}
}
// print_r($bikeListArr);
}
這裏是輸出的一部分:
HERO HF DAWN KICKSTART -- DROPPED
HERO HF DELUXE -- DROPPED
HONDA DREAM NEO -- DROPPED
BAJAJ PLATINA -- DROPPED
HERO SPLENDOUR -- DROPPED
有趣的是下面傳遞的值:
"TVS STAR CITY PLUS","HERO PASSION X PRO","HERO GLAMOUR","HERO HUNK"
不能找到什麼是錯的。我會很感激任何幫助。
是你的選擇語句正確,爲什麼你在結尾添加了分號? –
爲什麼不使用['preg_match'](http://php.net/manual/en/function.preg-match.php),如'preg_match('/ \ d /',$ row ['model'], $ m,PREG_OFFSET_CAPTURE)'? – tadman
@ Amr Aly:是的。我一直使用「;」最後。很可能它是從我以前的工作片段中複製而來的。 :-) – atf