array_push字符串来自json_encode用于sql插入

时间:2016-12-03 22:52:51

标签: php mysql arrays json string

您好我想存储来自json编码的字符串以使其存储在MySQL中,但问题是该数组没有返回任何内容。这是我的代码:

    $com = array("1-1","1-2","1-3");
    $classcom=array();
    for ($i=1; $i<(int)$totaleleve; $i++) {
      $eleve=array();
      foreach($com as $value)
       {
        array_push($eleve,'2');

       }
       $final="'".json_encode($eleve)."'";
       array_push($classcom,$final);
       echo $final;
       echo $classcom;
    }
    echo $classcom;

为了您的信息$totaleleve='20',我做$final="'".json_encode($eleve)."'";,这样我就可以集中数组的字符串,以便能够将它插入到SQL语句中,如下所示:

$sql="INSERT INTO table VALUES (".explode(",", $classcom).")"
// so that it looks like something like this:
$sql="INSERT INTO table VALUES ('["2","2","2"]','["2","2","2"]','["2","2","2"]')

$final给了我'["2","2","2"]'我想要的,但当我array_push($classcom,$final);时,它只给了我一个空白数组:

Array

有人可以帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分:1)

如果$totaleleve大于0,则数组不为空。只需使用print_rvar_dump即可显示其值。

print_r($classcom)

而不是echo $classcom

答案 1 :(得分:1)

只需编写print_r($classcom);而不是echo $classcom;,您就会看到您的数组不为空。