微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 通过$_POST变量循环

对不起,我找不到这个问题的正确标题.
我使用for循环生成了以下内容,并使用下面的模式连接了提交按钮的名称
submit_edit_category_1
submit_edit_category_2
submit_edit_category_3
echo "<input type='submit' value = 'Edit' name='submit_edit_category_" . 
$obj_categories_admin->categories[$i]['category_id'] . "'/>";

我想循环遍历这些值,以便我可以按钮动作whichis edit_category和类别ID 1,2或3.我想这样的事情:

if(isset($_POST) == 'edit_category'))
{
    //code here
}

有人建议我这样做:

name="submit[which_action][which_category]"  
a1 = $_POST['submit']; 
$which_action = reset(array_keys($a1)); 
$which_category = reset(array_keys($a1[$which_action]));

这似乎没有用.任何人都可以给我一个不同的方式来做到这一点?
谢谢!

我在做什么

对于实际的表单,我使用数组键来传达动作和相关的id信息.

$cat_id =  $obj_categories_admin->categories[$i]['category_id'];

echo "<input type='submit' value = 'Edit' name='submit[edit_category][" . $cat_id . "]'/>";

发布时,我可以这样做:

<?PHP

list($action,$action_params) = each($_POST['submit']);
list($cat_id,$button_label) = each($action_params);

print_r($_POST['submit']); // prints array('edit_category' => array('1' => 'Edit'))
echo($action); //prints "edit_category"
print_r($action_params); //prints array('1' => 'Edit')
echo($cat_id); //prints "1"
echo($button_label); //prints "Edit"

编辑:有关每个()的更多信息,请转到此处:http://us2.php.net/each.我个人总觉得按钮标签与它的价值之间缺乏差异令人沮丧.使用数组键将信息填充到按钮一直是我最喜欢的黑客.

原文地址:https://www.jb51.cc/php/133819.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐