Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何告诉PHP把一个字符串看作数组/JSON_Php_Arrays - Fatal编程技术网

如何告诉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也不是序列化数组,您需要一个自定义函数来解析它。谢谢您的回答,但我已经解决了我的问题,请参阅编辑的帖子:)抱歉,我没有看到评论。对其他人有用。