【问题标题】:I set variables inside foreach loop and they are not echoing outside the loop我在 foreach 循环内设置了变量,但它们没有在循环外回显
【发布时间】:2015-05-27 12:56:51
【问题描述】:

我正在使用 $key => $value 设置一个数组。我正在使用它来设置表单提交的报告。我正在尝试在 foreach 循环内设置一个 php 变量并在循环外使用它;但是,它不起作用。任何想法为什么?

$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;

我已经通过在 foreach 循环中回显值进行了测试,它们确实从表单中返回了值。所以我知道没有错字。

【问题讨论】:

  • $$value 与 '$'.$value 不同。第一个引用变量名 $value,第二个是与 $value 连接的字符串 $。
  • 这里只是一个简短的说明,也许您可​​以格式化/缩进最后一点代码并使问题更清楚。传播文本一点:)
  • 我重新格式化了代码。对此感到抱歉。

标签: php arrays foreach


【解决方案1】:

要制作动态变量,您应该使用{}

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

【讨论】:

  • 完美!非常感谢。这样做是一个使用 foreach 循环的学习实验。但这将允许我现在根据需要在我的应用程序中使用它。只要它允许我在这里,我就会接受。
猜你喜欢
  • 2012-10-19
  • 2014-09-05
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2012-11-11
  • 1970-01-01
相关资源
最近更新 更多