PHP:$variable{0}中的大括号做什么


PHP: What do the curly braces in $variable{0} do?

我正在浏览一个代码库,遇到一行我有问题。这是我以前从未见过的东西,我想知道是否有人能为我解释一下

$variableName = $array[1];
$variableName{0} = strtolower($variableName{0});
$this->property = $variableName;

花括号是用来做什么的?我以前用大括号将变量定义为变量名,但这是一样的吗?我似乎在网上找不到任何解释它的资源,但我不确定我是否在寻找正确的东西。

访问具有该索引的单个字节{0}=>第一个字符(在非utf8字符串中)

你可以简单地用测试它

$var='hello';
echo $var{0};

它将字符串的第一个字符设置为小写。这是一个字符串快捷运算符,功能与以下相同:

<?php
$variableName = strtolower(substr($variableName, 0, 1)) . substr($variableName, 1)

花括号{}与方括号[]的作用相同,用于数组或字符串索引。我猜它是从perl借来的,其中方括号用于数组,大括号用于哈希。但在PHP中,数组和散列是一样的。