我正在构建一个可以从管理控制面板修改的动态表,并且我将数据存储在数据库列中的数组中,如下所示:
例如: tableBody:[[' test',' 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&#39;而不是&#34;。
现在我可以使用json_decode()
答案 0 :(得分:1)
你必须使用下面的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);
它的解码数组......