我有一个这样的数组:
array(10) {
[1]=> string(10) "Question 1"
["1a"]=> string(7) "option1"
["1b"]=> string(7) "option2"
["1c"]=> string(7) "option3"
["1d"]=> string(7) "option4"
[2]=> string(10) "Question 2"
["2a"]=> string(7) "option1"
["2b"]=> string(7) "option2"
["2c"]=> string(7) "option3"
["2d"]=> string(7) "option4"
}
我想分割数组并回显<li>
标记之间的值。问题是,当我尝试循环遍历数组键时,我无法弄清楚如何在数组键中对每个整数进行排序,并且它在单独的<li>
标记之间回应所有元素而不是一个包含 1 的五个值,一个用于包含2的键的五个值,依此类推。
这是我目前使用的php代码:
$form = array();
foreach($_POST as $key => $val) {
$q_answers = array();
if (is_numeric($key)) {
$question = trim(htmlspecialchars($val));
} else if (is_string($key) && !empty($val)) {
$q_answers[] = '<input type="button" value="'.trim(htmlspecialchars($val)).'" data-skip="0" />';
}
$form[] = $question.' '.implode(' ', $q_answers);
}
$result = '
<ul>
<li>'.implode('</li>
<li>', $form).'</li>
</ul>';
}
以下是我正在寻找的一个例子:
阵列:
Array(10) {
[1]=> "Question 1"
[1a]=> "option1"
[1b]=> "option2"
[1c]=> "option3"
[1d]=> "option4"
[2]=> "Question 2"
[2a]=> "option1"
[2b]=> "option2"
[2c]=> "option3"
[2d]=> "option4"
}
输出:
<ul>
<li>Question 1: option1 option2 option3 option4</li>
<li>Question 2: option1 option2 option3 option4</li>
</ul>
答案 0 :(得分:0)
你可以试试这个:
$array = {};
$options1 = {}
$options2 = {}
$options1[1a] = "option1";
$options1[1b] = "option2";
$options1["Name"] = "Question 1";
$options2[2a] = "option1";
$options2[2b] = "option2";
$options2["Name"] = "Question 2";
$array[1] = $options1;
$array[2] = $options2;
echo("<ul>");
foreach ($array as $option){
echo("<li>" . $option["Name"] . ":");
foreach ($optionas $suboption){
echo(" " . $suboption);
}
echo("</li>");
}
echo("</ul>");
您可以使用函数来快速构建这些数组:)