2013-03-21 6 views
-2

Я новичок в PHP, поэтому, пожалуйста, извините, если этот вопрос является noob. Я не знаю его имени, поэтому не мог его найти. Я прочитал его в этом фрагменте кода. Что это значит?

Линия 5: ${$key}

<?php 
    $expected = array('carModel', 'year', 'bodyStyle'); 

    foreach($expected AS $key) { 
     if (!empty($_POST[ $key ])) { 
      ${$key} = $_POST[ $key ]; 
     } else { 
      ${$key} = NULL; 
     } 
    } 
?> 
+1

На самом деле, это не то '$ {$' символ, а [Variable переменной] (http://php.net/manual /en/language.variables.variable.php) –

+2

, и это не «wht», это «Что». – Alex

ответ

3

Это то же самое, как $$key и означает вар имени $key

т.е.

$test = "foo"; 

такая же, как

$a = "test"; 
$$a = "foo"; 
0

Установить переменную с именем $ ключ.

$var = NULL; 

$name = 'var'; 

${$name} = TRUE; 

var_dump($var); // TRUE 

Как:

$$name = TRUE; 
1

Обозначения ${$key} альтернативный стиль письма просто $$key, который используется для variable variables.

Один частный случай, в котором вы могли бы использовать эту запись, когда вы делать трюки, как это:

$var = 'foo_x'; 
$key = 'x'; 
${'foo_' . $x} = 'hello'; 

echo $foo_x; // hello 
0

Это позволяет использование сложных выражений.

Это называется комплекс (фигурная) синтаксис, вы можете найти более подробную информацию на http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex

+0

+1. Это фактически делает попытку ответить на вопрос :) –

+0

Посмотрите на это сообщение, у вас есть немного больше информации во втором ответе для вас. http://stackoverflow.com/questions/5571624/php-syntax-question-what-is – llanato

+0

Самой большой частью этого конкретного ответа является просто копирование с страницы руководства ;-) –

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