欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

这是一种什么情况!该怎么处理

程序员文章站 2024-01-13 18:44:10
...
这是一种什么情况!!!
比如说:

$str="abcadef";
$strone=$str[0];
for($i=0;$iif($strone==$str[$i]){
$str[$i]="";
}
}
var_dump($str);


显示出:

string(7) "bcdef";

请问一下,为什么这个字符串还是7个长度,有没有什么办法,让他变成5个的长度,这是一种什么情况!该怎么处理这是一种什么情况!该怎么处理这是一种什么情况!该怎么处理



------解决方案--------------------
$str="abcadef";
$strone=$str[0];
$r = '';
for($i=0;$i if($strone != $str[$i]){
$r .= $str[$i];
}
}
$str = $r;
var_dump($str);

------解决方案--------------------
解决方法楼上各位都说了,但为了避免你重蹈覆辙,说说理论的事——

程序看上去是“合理”的,但实际上是错误的,关键在于php核心存储变量的方式

php对于一个字符串变量赋值后是记录了长度的,要改变这个长度需要重新赋值
$str[x]='' 这种形式并不能对字符串变量重新赋值,因为''属于空字节,只能用于空字符串
替换一个非空字节则是可行的


具体请参考 深入理解php内核
这是一种什么情况!该怎么处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频