Tôi đã gặp khó khăn về cùng một vấn đề, và nó cho rằng có một khoảng trống sau số đó.
dài câu chuyện ngắn, những gì bao giờ số lượng là:
is_numeric(" 0.0") --> YES
is_numeric("0.0 ") --> NO
Dưới đây là một ví dụ ...
public function getCoordinates()
{
return sprintf('%1$f , %2$f',$this->getLatitude(),$this->getLongitude());
}
Sau đó trong quá trình ...
$myarr = explode(",",$_ScreenCoordinates);
echo "_ScreenCoordinates:$_ScreenCoordinates<br>";
echo "myarr[0]:".$myarr[0]." - ".((is_numeric($myarr[0]))?"YES":"NO")."<br>";
echo "myarr[1]:".$myarr[1]." - ".((is_numeric($myarr[1]))?"YES":"NO")."<br>";
echo "trimmed[0]:".$myarr[0]." - ".((is_numeric(trim($myarr[0])))?"YES":"NO")."<br>";
in trên màn hình:
Array ([0] => 1.200000 [1] => 123.456000)
_ScreenCoordinates:1.200000 , 123.456000
myarr[0]:*1.200000 * - NO
myarr[1]:* 123.456000* - YES
trimmed[0]:*1.200000 * - YES
không repro, 'is_numeric (0)' trả về 'bool (true)' cho tôi. tương tự với 'is_int' – SilentGhost
@Industrial: Bạn có chắc chắn không? http: //www.ideone.com/h5CSa – kennytm
Bạn chắc chắn đó không phải là chữ cái O thay vì số không? –