PHP 如何像go一样将数组转byte

golang 里面非常好实现

package main

import (
    "encoding/json"
    "fmt"
)

type Info struct {
    Id      int    `json:"id"`
    Title   string `json:"title"`
    Content string `json:"content"`
}

func main() {
    info := Info{
        Id:      1002,
        Title:   "标题",
        Content: "内容",
    }

    data, err := json.Marshal(info)
    if err != nil {
        fmt.Println("err = ", err.Error())
        return
    }
    fmt.Println("data = ", data)
}
// output
// data =  [123 34 105 100 34 58 49 48 48 50 44 34 116 105 116 108 101 34 58 34 230 160 135 233 162 152 34 44 34 99 111 110 116 101 110 116 34 58 34 229 134 133 229 174 185 34 125]
// len =  47

PHP里面如何将生成这样的数据传递给go

<?php

class Info
{
    public $id;
    public $title;
    public $content;
}


$info = [
    'id' => 1002,
    'title' => '标题',
    'content' => '内容',
];


$data = unpack("C*", json_encode($info));
echo "[" . implode(" ", $data) . "]\n";
var_dump(count($data));
// 输出
// [123 34 105 100 34 58 49 48 48 50 44 34 116 105 116 108 101 34 58 34 92 117 54 56 48 55 92 117 57 56 57 56 34 44 34 99 111 110 116 101 110 116 34 58 34 92 117 53 49 56 53 92 117 53 98 98 57 34 125]
// int(59)
阅读 2.4k
1 个回答

为啥要这样呢? 直接json string 传不行么?php这边直接 json_encode 后的json字符串给go, go那边做下转换 []byte(json string) 就可以了啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏