奇怪的trim

ringphone 2008-05-29 05:13:55
<?php
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
?>

运行结果:
[]
[ 3 ]
[ 3 4 5 ]
[3 4 5]
彻底晕了,怎么跟函数说明不一样啊?
...全文
140 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringphone 2008-06-03
  • 打赏
  • 举报
回复
我知道trim要取返回值,因为表现异常才写的测试代码看看是否影响参数值,看来大家都没碰到过这种经裁减且不明版本的PHP,结帖了,权当散分了。
jinzhai 2008-05-30
  • 打赏
  • 举报
回复
我这里正常.
fxs_2008 2008-05-30
  • 打赏
  • 举报
回复
[3]
[ 3 ]
[ 3 4 5 ]
[3 4 5]
fxs_2008 2008-05-30
  • 打赏
  • 举报
回复
运行结果
[3]
[ 3 ]
[ 3 4 5 ]
[3 4 5
luobo525 2008-05-30
  • 打赏
  • 举报
回复
$zzz=" 3 ";
trim($zzz);
echo "[".$zzz."]<br>";


$zzz=trim($zzz);
ringphone 2008-05-30
  • 打赏
  • 举报
回复
3楼,不好意思,说实话,我没学过PHP,这次是有个PHP的网页有个小地方需要修改,涉及到trim,搜索了一下说明,就写了这几行代码测试了一下,的确是HTML下的,请告诉我是什么错误,该怎么改。
fcoolx 2008-05-30
  • 打赏
  • 举报
回复
正确
[Quote=引用 14 楼 Mistruster 的回复:]
PHP code
<?php
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
?>



改成

PHP code
<?php
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
$zzz=trim($zzz)…
[/Quote]
Mistruster 2008-05-30
  • 打赏
  • 举报
回复

<?php
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
?>

改成

<?php
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
?>


你 中间的 两个 trim($zzz); 少写了 $zzz=
ringphone 2008-05-30
  • 打赏
  • 举报
回复
我用的是厂家提供的开发板板载的经裁减的linux,他带的php也是经过裁减了,不少函数都没有,phpinfo也没有,因此无法知道版本,经测试,trim仅调用,会影响参数值,但会保留两边各一个空格,取返回值,如果非空格字符超过一个,正常,如果仅一个字符,返回值为空。摸清其规律了,只好用另外办法解决了。
mrshelly 2008-05-30
  • 打赏
  • 举报
回复
trim(参数)

仅调用时,不会影响 参数的值.

只有返回重新赋值才有效...
sunday_bj 2008-05-30
  • 打赏
  • 举报
回复


$zzz=" 3 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
trim($zzz);
echo "[".$zzz."]<br>";
$zzz=" 3 4 5 ";
$zzz=trim($zzz);
echo "[".$zzz."]<br>";

//运行结果
/*
[3]
[ 3 ]
[ 3 4 5 ]
[3 4 5]

*/
//结论:trim 截去字符串首尾的空格 是正确的!
web_php 2008-05-29
  • 打赏
  • 举报
回复
应该不会出现你那样的问题,LZ好好检查一下
wildlily980 2008-05-29
  • 打赏
  • 举报
回复
我这里正常.
edwardpro 2008-05-29
  • 打赏
  • 举报
回复
lz从你写法来看就是html下!你自己想想你犯了什么错误吧!用控制台看看吧
ringphone 2008-05-29
  • 打赏
  • 举报
回复
请LS回答一下
$zzz=" 3 ";
$zzz=trim($zzz);
为什么" 3 "去空格后的结果不是3而是空
changrui 2008-05-29
  • 打赏
  • 举报
回复
trim
截去字符串首尾的空格。

语法: string trim(string str);

返回值: 字符串

函数种类: 资料处理




内容说明


本函数返回字符串 string 首尾的空白字符去除后的字符串。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧