PHP返回是添加空格,即使是trim()

时间:2014-05-23 18:22:07

标签: javascript php jquery ajax

我有一个应该报告布尔值的函数,但是它会在字符串的前面添加空格。即使使用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调用,根据查询中的参数调用函数。这是我第一次遇到这个问题,其他一切正常。 我不认为这与文件中的空格有任何关系 - 它不会在其他任何地方发生,而且我只返回函数中的内容。

3 个答案:

答案 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空白输出的最常见原因