下面的数组是从一些POST数据构建的,我通过print_r抓取了这个数组
print_r($_POST['options']);
Array (
[0] => Array (
['member_id'] => 6
['leadership_id'] => 0 )
[1] => Array (
['member_id'] => 7
['leadership_id'] => 1 )
[2] => Array (
['member_id'] => 2
['leadership_id'] => 2 ) ) 这在我看来是正确的,但如果我试图从一个角度来看的话:
foreach ($_POST['options'] as $test) {
echo $test['member_id'];
echo $test['leadership_id'];
}这只会让我返回以下错误:
Notice: Undefined index: member_id
Notice: Undefined index: leadership_id它似乎每次都会发送该错误,因此显然没有正确引用它。
我认为这个过程会使$test循环成为$test,但从它的响应方式来看,这似乎是不正确的。
它的工作原理让我想到尝试另一个循环:
foreach ($_POST['options'] as $tmp) {
foreach ($tmp AS $opt) {
echo $opt['member_id'];
echo $opt['leadership_id'];
}
} 我认为第一个前端只看到了一个数组,所以第二个数组找到了其余的数组,尽管当我打印出变量时,它看起来很奇怪:
Member ID: 6
Leadership_ID: 6
Member ID: 0
Leadership_ID: 0
Member ID: 7
Leadership_ID: 7
Member ID: 1
Leadership_ID: 1
Member ID: 2
Leadership_ID: 2
Member ID: 2
Leadership_ID: 2它说明HTML如何加载数据可能是一个问题,下面是一个示例:
<input type="hidden" name="options[0]['member_id']" value="6">Name
<select name="options[0]['leadership_id']">
<option value="0">None</option>
<option value="1">Small Unit</option>
<option value="2">Large Unit</option>
</select><br />
<input type="hidden" name="options[1]['member_id']" value="7">Pyras
<select name="options[1]['leadership_id']">
<option value="0">None</option>
<option value="1">Small Unit</option>
<option value="2">Large Unit</option>
</select><br />发布于 2014-03-20 17:12:48
你从这段代码得到了什么:
foreach ($_POST['options'] as $test) {
print_r($test);
}张贴所有内容。
编辑1:尝试如下:
foreach ($_POST['options'] as $test) {
if (isset($test['member_id']) && isset($test['leadership_id'])) {
var_dump($test['member_id']);
var_dump($test['leadership_id']);
} else {
echo 'Bad Values:' . var_dump($test);
}
}那你能得到什么?
编辑2:似乎您的键中有额外的‘。你的HTML是什么?如果这不是一种选择,请做:
foreach ($_POST['options'] as $test) {
if (isset($test["'member_id'"]) && isset($test["'leadership_id'"])) {
var_dump($test["'member_id'"]);
var_dump($test["'leadership_id'"]);
} else {
echo 'Bad Values:' . var_dump($test);
}
}编辑3
将HTML更改为:
<input type="hidden" name="options[0][member_id]" value="6">Name
<select name="options[0][leadership_id]">
<option value="0">None</option>
<option value="1">Small Unit</option>
<option value="2">Large Unit</option>
</select><br />
<input type="hidden" name="options[1][member_id]" value="7">Pyras
<select name="options[1][leadership_id]">
<option value="0">None</option>
<option value="1">Small Unit</option>
<option value="2">Large Unit</option>
</select><br />发布于 2014-03-20 17:15:23
You need to access it like this:
foreach($options as $key=>$opt){
echo $opt["member_id"];
echo $opt["leadership_id"];
}发布于 2014-03-20 17:17:48
代码工作正常,所以这是另一个问题。
下面是一个有用的示例:http://sandbox.onlinephpfunctions.com/code/cf657dd63428e5199ddd22c643fa464c0657b43f
也许上下文会帮助我们解决这个问题。
https://stackoverflow.com/questions/22540235
复制相似问题