Php 这个$string[1]是否有效?

Php 这个$string[1]是否有效?,php,arrays,string,Php,Arrays,String,我用PHP编写代码已经超过10年了,这是我第一次遇到这个(遗留代码库): $new_编号现在为2 我疯了吗?我从来不知道你可以用[x]来添加字符串 编辑:正如许多人指出的,PHP中的字符串存储为字符数组。然而,我认为这对PHP来说是非常独特的?你能用C++/C#/Java这样的强类型语言来做吗?不,你不会发疯的。您可以访问PHP中的任何字符串,因为它将是一个数组,并且可以访问每个字符。如图所示: 可以通过使用方括号指定字符串后所需字符的零基偏移量来访问和修改字符串中的字符,如$str[42]中所

我用PHP编写代码已经超过10年了,这是我第一次遇到这个(遗留代码库):

$new_编号现在为2

我疯了吗?我从来不知道你可以用[x]来添加字符串


编辑:正如许多人指出的,PHP中的字符串存储为字符数组。然而,我认为这对PHP来说是非常独特的?你能用C++/C#/Java这样的强类型语言来做吗?

不,你不会发疯的。您可以访问PHP中的任何字符串,因为它将是一个数组,并且可以访问每个字符。如图所示:

可以通过使用方括号指定字符串后所需字符的零基偏移量来访问和修改字符串中的字符,如$str[42]中所述。为此,请将字符串视为字符数组。[……]


因为字符串在PHP中是有效的字符数组。这意味着您可以通过访问正确的索引来单独获取字符。这实际上并没有添加任何内容,只是获取字符串的第二个字符“2”。希望这有帮助。

是的!你没有疯。在PHP中,您可以通过索引访问字符串中的字符。它被视为一个数组。不能像添加数组那样使用
$string[]
添加到字符串中,但可以将值更改为其他字符

$string = "test";
$string[1] = "s";
echo $string; // Echoes 'tsst'

不,你不会发疯的。我很确定你能用大多数高级语言做到这一点。我不确定为什么我会被否决而被遗忘。非常粗鲁的tbh,这是一个关于PHP行为的真实问题。不,这不是PHP独有的。它是低级语言的基础。PHP的语法与C语言有一些相似之处,我不认为人们会因为你的粗鲁而轻视你。只要看一下语言规范,就很容易回答这个问题。所以,这不是一个发布“哇,看看我刚刚学到了什么”帖子的地方。正如tier1所提到的,这在几乎所有的语言中都很常见,比如PHP、c/c++/c#/等等。。。因为字符串通常只是字符数组。
$string = "test";
$string[1] = "s";
echo $string; // Echoes 'tsst'