Я новичок в PHP, поэтому, пожалуйста, извините, если этот вопрос является noob. Я не знаю его имени, поэтому не мог его найти. Я прочитал его в этом фрагменте кода. Что это значит?
Строка 5: ${$key}
<?php $expected = array( 'carModel', 'year', 'bodyStyle' ); foreach( $expected AS $key ) { if ( !empty( $_POST[ $key ] ) ) { ${$key} = $_POST[ $key ]; } else { ${$key} = NULL; } } ?>
Это то же самое, что и $$key
и означает var с именем $key
т.е.
$test = "foo";
такой же как
$a = "test"; $$a = "foo";
Это переменная переменная. Подробнее читайте здесь: http://php.net/manual/en/language.variables.variable.php
Обозначение ${$key}
– это альтернативный стиль записи, просто $$key
который используется для переменных переменных .
Один конкретный случай, когда вы можете использовать эту нотацию, – это когда вы делаете такие трюки:
$var = 'foo_x'; $key = 'x'; ${'foo_' . $x} = 'hello'; echo $foo_x; // hello
Задайте переменную с именем $ key.
$var = NULL; $name = 'var'; ${$name} = TRUE; var_dump($var); // TRUE
Так же как:
$$name = TRUE;
Это способ использования имен динамических переменных. См. Здесь: http://php.net/manual/en/language.variables.variable.php
Это позволяет использовать сложные выражения.
Это называется сложным (фигурным) синтаксисом, вы можете найти дополнительную информацию по адресу http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex