PHP: Что делают фигурные скобки в $ variable {0}? - PullRequest
5 голосов
/ 23 марта 2012

Я просматривал кодовую базу и наткнулся на строку, по которой у меня возник вопрос.Это то, чего я раньше не видел, и мне было интересно, может ли кто-нибудь объяснить это мне.Вот код:

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

Для чего используются фигурные скобки?Я использовал фигурные скобки, чтобы определить переменные как имена переменных, но это то же самое?Кажется, я не могу найти в Интернете никаких ресурсов, которые бы это объясняли, но я не уверен, что я ищу правильную вещь.

Ответы [ 3 ]

4 голосов
/ 23 марта 2012

доступ к одному байту с этим индексом {0} => первый символ (в строке не-utf8)

Вы можете просто проверить это с помощью:

$var='hello';
echo $var{0};
2 голосов
/ 23 марта 2012

Это установка первого символа строки в нижний регистр. Это оператор ярлыка строки, функционирующий так же, как этот:

<?php
$variableName = strtolower(substr($variableName, 0, 1)) . substr($variableName, 1)
1 голос
/ 23 марта 2012

Фигурные скобки {} работают так же, как квадратные скобки [], для индексации массивов или строк.Я предполагаю, что это заимствовано из Perl, в котором квадратные скобки используются для массивов, а скобки используются для хэшей.Но в PHP массивы и хэши - это одно и то же.

...