vector1.insert( vector1.end(), vector2.begin(), vector2.end() );
Фигурные скобки используются для явного указания конца имени переменной. Например:
echo "This square is {$square->width}00 centimeters broad.";
Итак, ваш случай на самом деле представляет собой комбинацию двух особых случаев. Вам разрешен доступ к переменным класса, используя фигурные скобки и тому подобное:
$class->{'variable_name'} // Same as $class->variable_name
$class->{'variable' . '_name'} // Dynamic values are also allowed
А в вашем случае вы просто окружаете их синтаксисом фигурных скобок.
См. руководство по PHP , " сложный (фигурный) синтаксис "
I know the syntax just when using variable variables:
$userProp = 'id';
$this->_session->{'user_'.$userProp};
Theres probably one big advantage of that syntax, however, its generally in the domain of hairy stuff, and things you probably want to avoid.
It permits you to use characters in variable names that are otherwise unpermitted.
ie:
$this->object->{"hello world\0\n"}
$this->object->{"function(){ this is a truely awful name for a variable }"}
The two examples in your question do the same thing. PHP allows you to access member data/methods in several ways...
object->{'name_of_member'};
object->name_of_member;
$member = 'name_of_member';
object->$member;
В приведенном вами примере реальной разницы нет, и следует использовать IMO $ this -> _ session-> user_id
, потому что он более понятен.
Что за фигурные Синтаксис скобок на самом деле хорош для доступа к переменной-члену путем создания выражения для ее имени, например $ this -> _ session -> {'user_id'. $ index}
.