我有一个有 7 个不同标准的表格。每个标准都有 3 或 4 个问题,用户将检查相应的值。
我想遍历每个问题并创建一个包含条件 id -> question id -> 和答案值的字符串。
我似乎无法让它工作。
这是数组的转储:
标准数组:
array(7) { [0]=> string(1) "1" [1]=> string(1) "3" [2]=> string(1) "5" [3]=> string(1) "7" [4]=> string(2) "10" [5]=> string(2) "11" [6]=> string(2) "12" }
与每个问题相关的标准 ID
array(19) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "3" [4]=> string(1) "3" [5]=> string(1) "3" [6]=> string(1) "5" [7]=> string(1) "5" [8]=> string(1) "5" [9]=> string(1) "7" [10]=> string(1) "7" [11]=> string(1) "7" [12]=> string(1) "7" [13]=> string(2) "10" [14]=> string(2) "10" [15]=> string(2) "10" [16]=> string(2) "11" [17]=> string(2) "11" [18]=> string(2) "11" }
问答数组(只回答了6个问题)
array(6) { [11]=> array(1) { [0]=> string(1) "5" } [12]=> array(1) { [0]=> string(1) "5" } [13]=> array(1) { [0]=> string(1) "5" } [14]=> array(1) { [0]=> string(1) "4" } [15]=> array(1) { [0]=> string(1) "4" } [16]=> array(1) { [0]=> string(1) "4" } }
这是我的似乎不起作用的循环代码:
$criteriaNums = $_POST['criteriaNum'];
$fk_criterias = $_POST['fk_criteria'];
$questionValue = $_POST['questionValue'];
foreach($questionValue as $question => $answer){
//echo $question;
foreach($fk_criterias as $fk){
foreach($criteriaNums as $crit){
if($fk == $crit){
$string1 = $fk;
//echo $string1;
}
}
}
$string2 = $question;
foreach ( $answer as $result ){
$string3 = $result;
//echo $string3;
}
$criteria .= $string1 . '|' . $string2 . '|' . $string3 . '|';
//echo $criteria;
}
任何帮助将不胜感激!!
字符串 2 和 3 似乎工作正常。是 string1 不起作用。
这是上面代码生成的输出:
11|11|5|11|11|5|11|12|5|11|11|5|11|12|5|11|13|5|11|11|5|11|12|5|11| 13|5|11|14|4|11|11|5|11|12|5|11|13|5|11|14|4|11|15|4|11|11|5|11|12| 5|11|13|5|11|14|4|11|15|4|11|16|4|
这是应该如何工作的:
总共有 19 个问题。在上面的问题/答案数组转储中,用户只回答了 6。
第一个问题是 id #11,答案是值 5。第二个问题是 id #12,答案是值 5 第三个是 id #13 答案是 5 第 4 个是 id #14 答案是 4 第 5 个是 id #15 答案是4 6th 是 id #16 答案是 4
上面的标准 id 数组转储是与每个问题相关的标准。如果您查看转储,您可以看到前 6 个 (0 - 5) 有 1, 1, 1, 3, 3, 3
所以预期的输出应该是
1 | 11 | 5 | 1 | 12 | 5 | 1 | 13 | 5 | 3 | 14 | 4 | 3 | 15 | 4 | 3 | 16 | 4 |
我希望这有帮助?
数组 ( [1] => 数组 ( [11] => 数组 ( [0] => 5 )
[12] => Array
(
[0] => 5
)
[13] => Array
(
[0] => 5
)
)
[3] => Array
(
[14] => Array
(
[0] => 5
)
[15] => Array
(
[0] => 5
)
[16] => Array
(
[0] => 5
)
)
)
1|11|5|1|12|5|1|13|5|3|14|5|3|15|5|3|16|5|
这是我的代码:
foreach ($questionValue as $crit => $questions) {
foreach ($questions as $answer => $result) {
foreach($result as $value){
$criteria = $crit . "|" . $answer . "|" . $value . "|";
echo $criteria;
}
}
}