我如何告诉php将字符串视为数组/ json

时间:2015-11-18 14:05:16

标签: php arrays

我正在构建一个可以从管理控制面板修改的动态表,并且我将数据存储在数据库列中的数组中,如下所示:

例如:     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()

1 个答案:

答案 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);

它的解码数组......