2015-05-27 2 views
1

Я настраиваю массив с ключом $ key => $. Я использую это для создания отчета из представления формы. Я пытаюсь установить переменную php внутри цикла foreach и использовать ее за пределами цикла; однако он не работает. Любые идеи почему?Я устанавливаю переменные внутри цикла foreach, и они не повторяются вне цикла

$formfields = array(
"Company Name" => "company", 
"Contact Name" => "name", 
"Address" => "address", 
"City" => "city", 
"State" => "state", 
"Zip Code" => "zip", 
"Phone Number" => "phone", 
"Brand of Tool" => "brand", 
"Tool Model" => "model", 
"Description of Problem" => "description", 
"Repair or Rebuild" => "repairorrebuild", 
"Estimate or Repair & Return" => "estimateorrepair" 
); 



foreach ($formfields as $key => $value) { 
'$'. $value = htmlspecialchars($_POST[$value]); 
} 

echo $company .' '. $name; 

Я проверил на вторя значение внутри цикла Еогеаспа и они возвращают значения из формы. Поэтому я знаю, что нет опечаток.

+0

$$ значение не то же самое, как '$'. $ Значение. Первый относится к переменным именам $ value, а второй представляет собой строку $, сцепленную с значением $. – kainaw

+1

Просто быстрая заметка здесь, может быть, вы могли форматировать/отступать, что последний бит кода и сделать вопрос более понятным. Распространяйте текст немного :) –

+0

Я переформатировал код. Извини за это. – KDJ

ответ

1

Для динамических переменных следует использовать {}

foreach ($formfields as $key => $value) { 
    ${$value} = htmlspecialchars($_POST[$value]); 
} 
+0

PERFECT! Огромное спасибо. Это был учебный эксперимент с петлями foreach. Но это позволит мне использовать это в моем приложении по мере необходимости. Я соглашусь, как только это позволит мне здесь. – KDJ

+1

Добро пожаловать. – Daan

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