0
我需要一個字符串並返回true,如果只有正數或負數字在字符串中。有沒有辦法做到這一點?需要ctype_digit爲負數返回true
$rating = "-25";
if (!ctype_digit($rating)) {
echo "Not a digit.";
}
else {
echo "Is a digit.";
}
結果:
不是數字。
需要結果:
是其中一位。
我需要一個字符串並返回true,如果只有正數或負數字在字符串中。有沒有辦法做到這一點?需要ctype_digit爲負數返回true
$rating = "-25";
if (!ctype_digit($rating)) {
echo "Not a digit.";
}
else {
echo "Is a digit.";
}
結果:
不是數字。
需要結果:
是其中一位。
ctype_digit()
適用於由只有的數字組成的值。 其中$rating = -25;
是錯誤的,因爲它在此特定情況下被視爲ASCII碼(下文解釋),並且"-25"
無效,因爲-
不是數字。 您可以鍵入玩花樣,但我認爲你正在尋找is_numeric()
echo is_numeric("-25");
或echo ctype_digit((integer) $var);
但是,如果不能將字符串轉換爲整數後者將返回true。如果是這樣的話,它的值就是0。
重要: 如果傳遞到ctype_digit()
在-128
和255
範圍內的字面整數值被轉換爲在ASCII表中定義的字符。如果它不是一個數字,預計會出現錯誤。任何其他整數值都是正常的預期行爲。
「只適用於實數整數」這只是錯誤的。 ctype_digit適用於字符串中的數字。 – modu
@modu你說得對,我編輯得更具體。 – Xorifelse