如何告诉PHP把一个字符串看作数组/JSON
我正在构建一个可以从管理控制面板修改的动态表,并将数据存储在数据库列中的数组中,如下所示:如何告诉PHP把一个字符串看作数组/JSON,php,arrays,Php,Arrays,我正在构建一个可以从管理控制面板修改的动态表,并将数据存储在数据库列中的数组中,如下所示: <table> <?php $arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody']; $body = ""; $tableArray = (how to
<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>
例如:
表体:['test','test2'],['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>
您必须使用下面的php函数将数组存储到mysql数据库中的字符串中
//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);
这是您的解码数组…如果您有json格式的字符串,您可以使用json_decode,如果您想要制作json格式,您可以使用json_encode。。在php.net中有很多关于itI尝试使用json_解码的信息,但它不起作用,因为我认为它不是json格式。你能告诉我这个[['test'、'test2']、['1'、'2']]应该如何使用json格式吗?在将数组存储到数据库之前,你应该使用json_encode(array())。然后json_decode()将立即工作。您最初是如何构建包含要从数据库检索的数组的字符串的?使用serialize()
或json_encode()
将值存储在数据库中,然后在从数据库获取后使用unserialize()
或json_decode()
。现在它的存储方式是,该字符串既不是JSON也不是序列化数组,您需要一个自定义函数来解析它。谢谢您的回答,但我已经解决了我的问题,请参阅编辑的帖子:)抱歉,我没有看到评论。对其他人有用。