我正在构建一个可以从管理控制面板修改的动态表,并将数据存储在数据库列中的数组中,如下所示:
示例:tableBody:[[测试','test 2'],['1','2']]
然后我想在前端输出这样的表:
<table>
<?php
$arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
$body = "";
$tableArray = (how to convert to array this string $arrayFromDB);
foreach ($tableArray as $key) {
$body.= "<tr>";
foreach ($key as $keyt) {
$body.= "<td>".$keyt."</td>";
}
$body.="</tr>";
}
echo $body;
?>
</table>
已解决:问题是我储存的方式不对。基本上,我是以一种与json等效的自定义方式存储的,只是我使用了'而不是"。现在我可以使用json_decode()
您必须使用以下php函数将数组存储到mysql DB中的字符串中。
//for eg Define array
$array = array();
$array[0][] = 'test';
$array[0][] = test 2;
$array[1][] = 'test';
$array[1][] = test 2;
// convert array to json
json_encode($array);
现在,当您从mysql数据库中检索数据时,只需解码该字符串。
$arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
$decodedStrArray = json_decode($arrayFromDB);
这是你的解码阵列。。。