2012-03-23 3 views
5

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

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

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

ответ

4

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

вы могли бы просто проверить его:

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

Интересно. Хороший ярлык вместо substr() для одного символа - если вы уже знаете длину переменной, которую вы тестируете. – opes

+1

Я бы в любом случае избегал этого. Потому что, если вы будете использовать многобайтную строку, вы получите неверную строку. Посмотрите на mb_strlen, если вам нужно получить доступ к одиночным символам (используя UTF-8) – dynamic

+0

А, хорошая информация. Ты узнаешь что-то новое каждый день. Благодаря! – opes

2

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

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

Так что, по существу, только lcfirst() тогда? Если переменная является строкой. – opes

+1

Lol. Да, я никогда не использовал эту функцию, поэтому я не знал, что она посвящена. Но да, это тот. – landons

1

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

Смежные вопросы