我试图通过一次从字符串中删除一个字符来创建回文。在取消设置字符串索引时。字符串长度不会减少。
$s = "arun";
var_dump ($s);
$s[1] = NULL;
var_dump($s) ;
string(4) "arun"
string(4) "aun"
为什么长度不减少。
答案 0 :(得分:3)
因为你没有以任何方式减少你的字符串,只是替换一个字符。
你的字符串从a r u n
转换为a (null) u n
,这仍然是四个字符长。
要实现您的目标,请使用substr_replace
<?php
$s = "arun";
var_dump ($s); //arun
$s = substr_replace($s, "", 1,1);
var_dump($s); //aun
答案 1 :(得分:1)
您并没有真正删除任何内容,只是将$s[1]
设置为null。
那么如果它是null呢? $s[1]
仍然是字符串的一部分。
要解决此问题,use substr()
修改强>
示例:
$s = "arun";
var_dump ($s);
$s[1] = NULL;
$s = $s[0].substr($s,2); // get the first index and "un" then concatenate them
var_dump($s) ;
答案 2 :(得分:0)
这个数组仍然是4个元素,但null
只是@HystrixCommand(fallbackMethod = "reliable")
。
答案 3 :(得分:0)
这是因为输出中的字母如下:aNULLun
将字符串拆分为字母,取消设置特定索引,再次连接在一起:
$s = "arun";
$s = str_split($s);
unset($s[1]);
var_dump(implode('', $s));