Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I was going through a codebase and came across a line I had a question about. It's something I haven't seen before and I was wondering if someone could explain it for me. Here's the code:

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

What are the curly braces being used for? I've used curly braces to define variables as variable names before, but is this the same thing? I can't seem to find any resources online that explain it, but I'm not sure if I'm searching for the right thing.

like image 772
opes Avatar asked Mar 23 '12 17:03

opes


2 Answers

access the single byte with that index {0} => first char (in non-utf8 string)

you could simply test it with:

$var='hello';
echo $var{0};
like image 142
dynamic Avatar answered Sep 25 '22 05:09

dynamic


It's setting the first character of the string to lower case. It's a string shortcut operator, functioning the same as this:

<?php
$variableName = strtolower(substr($variableName, 0, 1)) . substr($variableName, 1)
like image 20
landons Avatar answered Sep 25 '22 05:09

landons