如何使用 php 添加 json 将数据序列化到数据库中

how to add json serilize data into the database using php

这是我的数组,我想将其转换为 json 并添加到数据库中

Array(

[0] => Array

    (

        [id] => e4da3b7fbbce2345d7772b0674a318d5

        [channel] => Array
            (

                [0] => 1
                [1] => 2
            )

    )
)

我想像这样存储数据,其中 ID 保持不变,频道将添加到具有相同 ID 的下一个 json 括号

[{"id":"e4da3b7fbbce2345d7772b0674a318d5","channel":1},{"id":"e4da3b7fbbce2345d7772b0674a318d5","channel":2}]

代码

    $var1 = array([
                        'id' => $hash_user,
                        'channel' => $channel
                    ]);
                //  print_r($var1);
                    
                    foreach($var1 as $id){
                    
                        
                        $encode_data = $id['id'] . $id['channel'][0].  $id['id'] .  $id['channel'][1];
                        
                        $see = json_encode($encode_data);
                
                    
                    }
                    
                    print_r($see);
                    
                    print_r($encode_data);
                    //
                    die;
                    $info['user_hash'] = $encode_data;
                    
                        
            

你应该清楚你的post。但是根据这些信息,我假设您需要将数组更改为 JSON.

你有什么:

$databaseArray = [[ "id" => "e4da3b7fbbce2345d7772b0674a318d5", "channel" => [1,2]]];
$json = json_encode($databaseArray);

你想要什么:

$databaseArray = [[ "id" => "e4da3b7fbbce2345d7772b0674a318d5", "channel" => 1]];
$json = json_encode($databaseArray);

您需要更改的内容:

$databaseArray = [
    [ "id" => "e4da3b7fbbce2345d7772b0674a318d5", "channel" => [1,2]],
    [ "id" => "1235437fbbce2345d7772b0674a32342", "channel" => [1,2]]
];
$databaseMergedArray = [];
     // You need to set the channel to a value instead of array. 
     foreach($databaseArray as $key => $item) {
         foreach($databaseArray[$key]["channel"] as $channel) {
             $item["channel"] = $channel;
             $databaseMergedArray[] = $item;
         }
     }

$json = json_encode($databaseMergedArray);
echo ($json);