为了账号安全,请及时绑定邮箱和手机立即绑定

导入到mysql时删除json值中的逗号

导入到mysql时删除json值中的逗号

PHP
呼唤远方 2021-10-22 16:52:30
我想通过php代码将json数据导入mysql。我有一个 json 文件,其中包含许多对象和字符串。  "card": "2",  "numbers": {    "Conway": [234,872],    "Fibonacci": [12]  },  "numbers2": {    "Conway": [123,678],    "Fibonacci": [12]  }}和 php 文件$query = '';$table_data = '';$filename = "urljsonfile.json";$data = file_get_contents($filename); //Read the JSON file in PHP$array = json_decode($data, true); //Convert JSON String into PHP Arrayforeach($array as $row) //Extract the Array Values by using Foreach Loop{    $query .= "UPDATE tblname SET clumnname='".$array['numbers2']['Conway']."' WHERE id=2; ";  // Make Multiple Insert Query    $table_data .= '            <tr>                <td>'.$row["Conway"].'</td>            </tr>           '; //Data for display on Web page}if(mysqli_multi_query($connect, $query)) //Run Mutliple Insert Query{    echo '<h3>Imported JSON Data</h3><br />';    echo '       <table class="table table-bordered">          <tr>              <th width="45%">Name</th>          </tr>     ';    echo $table_data;      echo '</table>';}现在在 mysql 表中输出 123,678 我想像 123678 一样保存在 mysql 中
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

尝试将两个数组值折叠为一个字符串,不带逗号。

$numberString = implode('', $array['numbers2']['Conway']);


查看完整回答
反对 回复 2021-10-22
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

你可以这样尝试(@Ro Achterberg 很接近......):


$json = '{  

   "card":"2",

   "numbers":{  

      "Conway":[  

         234,

         872

      ],

      "Fibonacci":[  

         12

      ]

   },

   "numbers2":{  

      "Conway":[  

         123,

         678

      ],

      "Fibonacci":[  

         12

      ]

   }

}';


$decodedJson = json_decode($json,true);



$number = (int) implode("",$decodedJson["numbers2"]["Conway"]); 

var_dump($number); // Will output int(123678)

作为


$number = implode("",$decodedJson["numbers2"]["Conway"]); 

var_dump($number); // Will output string(6) "123678" 

编辑:使用您的代码和 $json 数组:


$query = '';

$table_data = '';

$filename = "urljsonfile.json";

$data = file_get_contents($filename); //Read the JSON file in PHP

$array = json_decode($json, true); //Convert JSON String into PHP Array

foreach($array as $row) //Extract the Array Values by using Foreach Loop

{

    $query .= "UPDATE tblname SET clumnname='".implode("",$row["numbers2"]["Conway"])."' WHERE id=2; ";  // Make Multiple Insert Query 

   $table_data .= '

            <tr>

                <td>'.$row["Conway"].'</td>

            </tr>

           '; //Data for display on Web page

}


    if(mysqli_multi_query($connect, $query)) //Run Mutliple Insert Query

    {

        echo '<h3>Imported JSON Data</h3><br />';

        echo ' 

          <table class="table table-bordered">

              <tr>

                  <th width="45%">Name</th>

              </tr>

         ';

        echo $table_data;  


        echo '</table>';

    }

希望有帮助!

OP 在他的评论中更改了 JSON,所以这应该有效:


<?php 

$json = '{ "card":"2", "numbers":{ "Conway":"119,500", "Fibonacci":"12"}, "numbers2":{ "Conway":"123,678", "Fibonacci":"12" } }';

$decodedJson = json_decode($json,true); 

$number = (int) str_replace("," , "" , $decodedJson["numbers"]["Conway"]); 

var_dump($number); // Will output int(119500) 

?>


查看完整回答
反对 回复 2021-10-22
  • 3 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信