我使用 JSON 创建了一个多维数组。现在我的问题是如何制作复选框组(放入表格或任何可以将它们分开的东西,例如通过水平条)。
这是文件行的示例:
{"id": "v0", "namegroup": "Table rules create OR insert", "rule": "All classes give origin to a table.", "value": 0}
这就是我创建数组的方式:
<?php
$file = fopen("rules.txt", "r") or exit("Unable to open file!");
$arrayRules = array();
$i = 0;
while(!feof($file))
{
$line = fgets($file);
$content = json_decode(utf8_encode($line), true);
$arrayRules[$i]['id'] = $content["id"];
$arrayRules[$i][0] = utf8_decode($content["rule"]);
$arrayRules[$i]['namegroup'] = $content["namegroup"];
$arrayRules[$i][1] = $content["value"];
$i = $i + 1;
}
fclose($file);
?>
这就是我创建复选框的方式:
echo "<input name=\"regra[]\" value=\"" . $arrayRules[$i]["id"] . "\" type=\"checkbox\" /> " . $arrayRules[$i][0] . "<br/> " ;
请记住,用户可以编辑组的名称和所有其他点。如您所见,我的问题不是如何回显复选框,而是如何按组创建和组织复选框的机制。
更新1
现在我有这个:
for($i=0; $i < count($arrayRules); $i++)
{
if ($arrayRules[$i]['idgroup'] == 1)
{
if ($arrayRules[$i][1] == 1)
echo "<input name=\"regra[]\" value=\"" . $arrayRules[$i]["id"] . "\" type=\"checkbox\" checked onclick=\"this.checked='checked'\"/> " . $arrayRules[$i][0] . "<br/> " ;
if ($arrayRules[$i][1] == 0)
echo "<input name=\"regra[]\" value=\"" . $arrayRules[$i]["id"] . "\" type=\"checkbox\" /> " . $arrayRules[$i][0] . "<br/> " ;
}
}
?>
问题是 inif ($arrayRules[$i]['idgroup'] == 1)
不应该是 1 而是应该是一个变量,或者当它每次在 idgroup 上的文件中找到一个新的或不同的名称时,它会添加或创建一个新的表/复选框组。