我有一个应该报告布尔值的函数,但是它会在字符串的前面添加空格。即使使用trim(),空间仍然存在......导致这种情况的原因是什么?
PHP
function a($v){
$r = is_file($v) ? 1 : 0;
return(trim($r));
}
JS
$.ajax(url+query,{ success:function(data){ return(data); } });
输出
1
更新
我使用$_GET
调用,根据查询中的参数调用函数。这是我第一次遇到这个问题,其他一切正常。 我不认为这与文件中的空格有任何关系 - 它不会在其他任何地方发生,而且我只返回函数中的内容。
答案 0 :(得分:2)
您必须在包含的PHP文件中包含空格。您必须在没有Bom的情况下以UTF8对文件进行编码。并删除“?>”在文件的末尾。
验证您的所有文件,或者您可以使用:
function a($v){
$r = is_file($v) ? 1 : 0;
ob_clean();
return $r;
}
但这是简单的方法,不要使用ob_clean()并验证你的文件! :)
答案 1 :(得分:0)
不确定是什么导致它但可能尝试下面的代码:
return (int) $r
答案 2 :(得分:0)
//<---- check for white space here
<?php
function a($v){
$r = is_file($v) ? 1 : 0;
return(trim($r));
}
?>
//<---- or here here
它们可能是意外的php空白输出的最常见原因