勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでPOST送信する際に多次元配列も送る方法

   2024/01/13  PHP

PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとOKの場合とNGの場合があった。解決方法等のメモ。

 

POST送信の方法

以下方法を用いた。

https://taitan916.info/blog/?p=2665

 

テスト結果

$data = array(
    'key' => 123, //OK
    'account' => array('id' => 111, 'pass' => 222), //OK
    'title' => array(
        0 => array('name' => 'hoge'), //NG
        1 => array('name' => 'huga'), //NG
    )
);

keyとaccountは正常に受信できたけど、titleに関しては正常に受信できなかった。具体的には受信側でvar_dumpしたところstring型のarrayとして表示された。

どうにかならないものかと色々試したところシリアライズする事で解決できた。以下のような形。

$title = array(
    0 => array('name' => 'hoge'),
    1 => array('name' => 'huga'),
);
$data = array(
    'key' => 123, 
    'account' => array('id' => 111, 'pass' => 222), 
    'title' => serialize($title), 
);

 - PHP

  関連記事

PHPにて配列の出力時にジェネレータを利用してメモリを節約する方法
PHPにて配列の出力時にジェネレータを利用してメモリを節約する方法

PHPにて大量のデータが格納された配列をforeach等でループ処理するような場 ...

フォルダにリンク制限をかける
フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...

Fatal error: Cannot redeclare 関数名のエラー
Fatal error: Cannot redeclare 関数名のエラー

PHPにて「Fatal error: Cannot redeclare 【関数名 ...

PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)
PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)

以前、PHPのTCPDF&FPDIを用いてテンプレートPDFに対し、動的 ...

Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...