php:从字符串中删除特定的索引?
我希望能够在字符串中指定索引并将其删除。php:从字符串中删除特定的索引?
我有以下几点:
"Hello World!!"
我想删除第四指数(o
在你好)。这里将是最终的结果:
"Hell World!!"
我试过unset()
,但没有奏效。我已经谷歌如何做到这一点,这就是每个人都说,但它没有为我工作。也许我没有正确使用它,idk。
$str="Hello World";
$str1 = substr($str,0,4);
$str2 = substr($str,5,7);
echo $str1.$str2;
我可能会将字符串放入一个数组中,然后删除第4个键。 – Kermit 2013-02-23 03:53:47
@AarolamaBluenk字符串!= php中的数组:) – 2013-02-23 09:22:09
在第3行:作为“substr”的第三个参数的整数“7”不需要使其工作。 – 2017-03-21 18:52:07
这是解决这个问题的一般方法:
$str = "Hello world";
$i = 4;
echo substr_replace($str, '', $i, 1);
基本上,之前从指数开始与相邻的字符串的一部分替换字符串的一部分。
或者,干脆:
substr($str, 0, $i) . substr($str, $i + 1)
$myVar = "Hello World!!";
$myArray = str_split($myVar);
array_splice($myArray, 4, 1);
$myVar = implode("", $myArray);
个人我喜欢处理数组。
(抱歉缺乏代码支架通过我的手机把这个了)
使用数组既不短也不高效;另外,字符串函数并不是那么难吗? :) – 2013-02-23 08:33:33
我认为可以创建一个函数并调用它像这样
function rem_inx ($str, $ind)
{
return substr($str,0,$ind++). substr($str,$ind);
}
//use
echo rem_inx ("Hello World!!", 4);
这种处理字符串的PHP具体还窃听我一段时间。当然,自然的解决方案是使用字符串函数或使用数组,但这比直接使用字符串索引在我看来要慢。下面的代码片段的问题是,在内存字符串中只会被替换为空的,如果你有比较或其他的东西,这是不好的选择。也许在将来的版本中,我们将构建函数直接删除字符串索引。
$string = 'abcdefg';
$string[3] = '';
var_dump($string);
echo $string;
使用'substr'。获取前几个字符,获取索引后的最后几个字符,然后连接。 – mario 2013-02-23 03:42:33
我尝试过'unset()',但那没有奏效。我已经谷歌如何做到这一点,这就是每个人都说,但它没有为我工作。 – 2013-02-23 03:43:15
将str_split放入数组中删除索引,然后将其解压回字符串。 – defaultNINJA 2013-02-23 03:47:22