UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#143 PHPで配列情報をJSONに変換して、別サーバー間で送信・取得する方法

記入日:2023-05-31 編集日:2023-05-31

PHPで配列情報をJSONに変換して、別サーバー間で送信・取得する方法を解説してみようと思います。

この記事を読むと(約5分)
PHPで配列情報をJSONに変換して、別サーバー間で送信・取得する方法をイメージできます。

以下のコード例では、送信側では配列データをJSON形式に変換し、HTTPリクエストのボディに埋め込んで送信しています。受信側では受け取ったJSONデータを解析し、商品IDと数量を表示しています。

ただし、上記の例ではエラーハンドリングやセキュリティ対策などは考慮されていません。実際のシステムでは、エラーチェックやバリデーション、認証、データベースへの書き込みなどの処理を適切に実装する必要があります。また、セキュリティ上の懸念がある場合は、HTTPSの使用や認証情報の暗号化などの対策も検討してください。

送信側のPHPコードの例

$cartItems = [
    [
        'product_id' => 1,
        'quantity' => 2
    ],
    [
        'product_id' => 2,
        'quantity' => 3
    ]
];

$jsonData = json_encode($cartItems);

$options = [
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/json',
        'content' => $jsonData
    ]
];

$context = stream_context_create($options);
$result = file_get_contents('https://example.com/api', false, $context);

if ($result === false) {
    // エラーハンドリング
    // エラーの場合の処理を記述します
} else {
    // 成功時の処理
    // 応答データに対して何か処理を行う場合はここに記述します
}

受信側のPHPコードの例

$jsonData = file_get_contents('php://input');
$cartItems = json_decode($jsonData, true);

if ($cartItems === null) {
    // JSONデータの解析に失敗した場合のエラーハンドリング
    // エラーの場合の処理を記述します
} else {
    // 受け取ったデータの表示
    foreach ($cartItems as $item) {
        $productId = $item['product_id'];
        $quantity = $item['quantity'];
        echo "Product ID: $productId, Quantity: $quantity<br>";
    }
}

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。