在php中取消设置字符串偏移量

在php中取消设置字符串偏移量,php,string,unset,Php,String,Unset,我试图删除下面字符串偏移量1处的字母p $str = "apb"; unset($str[0]); var_dump($str); 我收到一个致命错误,它说无法取消设置字符串偏移量。有什么建议吗?试试子字符串(substr()): 这将从字符串中去掉第一个字符,您可以这样做:$str=“apb”$newstr=$str[0]。$str[2] 或者,如果您想循环: $str = "apb"; $newstr = ''; for($i = 0; $i<strlen($str); $i++)

我试图删除下面字符串偏移量1处的字母p

$str = "apb";
unset($str[0]);
var_dump($str);
我收到一个致命错误,它说
无法取消设置字符串偏移量
。有什么建议吗?

试试子字符串(
substr()
):


这将从字符串中去掉第一个字符,您可以这样做:
$str=“apb”$newstr=$str[0]。$str[2]

或者,如果您想循环:

$str = "apb";

$newstr = '';
for($i = 0; $i<strlen($str); $i++){
    if($i == 1) continue;
    $newstr .= $str[$i];
}
$str=“apb”;
$newstr='';

对于($i=0;$iUnset,存在Unset变量

$str = "apb";
echo $str;
unset($str);
echo $str; // Undefined variable
Str_replace是一种简单的方法,可以实现您想要的功能。将“p”替换为“”:


unset用于从内存中删除
变量,但不是其一部分。一个例外是
数组
-您可以使用unset($array['key'])从中删除元素,但这是因为数组是一个变量列表,分别存储在RAM中。字符串是内存中的连续字节流,在设置/取消设置字符串变量时一次分配/取消分配。换句话说,字符串不是数组(尽管可以使用索引操作符访问它),因此您不能取消设置字符-只是用another@AgniusVasiliauskas嗯,
$str[0]=”
那么你会做这个把戏吗?编辑:哦,你的意思是字符作为类型而不是字符。这是一个否定的答案,sry
$str = "apb";
echo $str;
unset($str);
echo $str; // Undefined variable
$newStr = str_replace("p", "", $str);
echo $newStr;