<button type="submit" name="apply[<?php echo $temp['j_id']; ?>]"> Apply</button>
$temp['j_id'];
,这是唯一的。我想知道使用$ _POST和isset
点击“应用”后,需要另外一个 - 这里我想检查使用$ _POST设置了apply []的哪些值,即if(isset($_POST['apply'][]))
如何检查二维数组的$ _POST的isset
答案 0 :(得分:0)
几次看完这个问题之后,我想我现在明白了。请查看我在Runable中的代码示例中解决问题的方法。
如何检查二维数组$ _POST的isset?
if ( isset($_POST['apply']) &&
isset($_POST['apply']['someuniqueid']) )
{
//Do stuff
}
其中someuniqueid
是按钮的ID。
在您的情况下,someuniqueid
正是您想要的。我假设这个&#34; ID&#34;是有意义的,事先你知道所有可能的ID。在这种情况下,您需要测试每个可能的ID,直到找到匹配项。一种简单的方法是将这些ID存储在一个数组中,然后循环遍历它。
$possibleIDs = array('a', 'b', 'c', 'd');
if ( isset($_POST['apply']) ) {
foreach ($possibleIDs as $id) {
if ( isset($_POST['apply'][$id]) ) {
// Do stuff
}
}
}
但是,这是非常低效的,因为您需要创建一个包含ID的数组,然后循环遍历它以查找值。实际上,使用数组&#34; key&#34;并没有多大意义。作为&#34;值&#34;。此外,&#34;键&#34;名称可能会被转换/更改(例如,array('8' => 'foo')
将转换为array(8 => 'foo')
。
更好的方法,恕我直言,将该ID分配给按钮值。
<button type="submit" name="apply" value="<?php echo $temp['j_id']; ?>"> Apply</button>
在接收脚本中,您的按钮ID为$_POST['apply']
值。
您可以在Runable中查看此示例。请注意,仅为单击的按钮分配了值。其他按钮未提交。