我有一段代码,我试图用变量变量缩短,想检查这是否是一个有效的代码。我们可以用{来声明变量变量吗?
原始代码:
$town = ($_POST['town']) ;
$county = ($_POST['county']) ;
// Update town user meta
if (!empty($town))
update_user_meta($user_id, 'town', $town);
// Delete town user meta
else
delete_user_meta($user_id, 'town');
//Update county user meta
if (!empty($county))
update_user_meta($user_id, 'county', $county);
// Delete county user meta
else
delete_user_meta($user_id, 'county');
缩短代码:
$fields = array("town","county");
foreach ($fields as $field) {
${$field} = $_POST[$field];
if (!empty($field)) { update_user_meta($user_id, "$field", ${$field}); } else { delete_user_meta($user_id, "$field"); }
}
没有缩短的代码,我们就可以容纳更多的变数,这是我们的目标。
谢谢你的时间。
编辑
特别感谢所有负面的选民。我在这里的最后一篇文章得到了7票反对票,这里仅有2票。 Com'n家伙,打破我最后的纪录。
更严重的一点是,Stackoverflow必须制定更严格的关于负面投票的政策,并且其他人必须对此类投票进行审查 - 我认为,像这样的随机大众否定投票可能会导致高度的士气低落。
提示:*使用数组*](http://oreilly.com/catalog/progphp/chapter/ ch05.html) - 就像$ _POST是一个数组一样,通过使用一个集合。 – user2864740
不要打扰设置变量!只需在循环中使用'$ _POST [$ field]'。 –