「Php/composer/msgpack」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→hexData表示サンプル) |
|||
| 行34: | 行34: | ||
</pre> | </pre> | ||
==hexData表示サンプル== | ==hexData表示サンプル== | ||
| + | <pre> | ||
// 1. MessagePackでpack | // 1. MessagePackでpack | ||
$packed = MessagePack::pack($user); | $packed = MessagePack::pack($user); | ||
| 行45: | 行46: | ||
$binaryData = hex2bin($hexData); | $binaryData = hex2bin($hexData); | ||
$unpacked = MessagePack::unpack($binaryData); | $unpacked = MessagePack::unpack($binaryData); | ||
| + | </pre> | ||
2025年6月13日 (金) 19:23時点における最新版
msgpackインストール
composer require rybakit/msgpack
mspackは色々あるが、今回はrybakitのものをインストール
参考:https://blog.e2info.co.jp/2018/08/20/php_messagepack/
サンプル
<?php
require_once __DIR__ . '/vendor/autoload.php';
use MessagePack\MessagePack;
$user = [
'name' => "taro",
'age' => 20
];
$packed = MessagePack::pack($user);
echo print_r($packed, 1);
$user = MessagePack::unpack($packed);
echo print_r($user, 1);
出力
��name�taro�age
Array
(
[name] => taro
[age] => 20
)
hexData表示サンプル
// 1. MessagePackでpack $packed = MessagePack::pack($user); // 2. バイナリデータを16進数文字列に変換 $hexData = bin2hex($packed); echo "Packed hex data: " . $hexData . "\n"; // 3. 16進数文字列から元のデータに戻す $binaryData = hex2bin($hexData); $unpacked = MessagePack::unpack($binaryData);
