勉強したことのメモ

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にて特定の処理にかかった時間とメモリ使用量を測定したい。以下にソースコード ...

PHPで値が空の配列を削除
PHPで値が空の配列を削除

やりたかった事は配列でキーは入っていて値が入っていない ものを削除したかった。 ...

MySQLのREGEXPで半角記号を検索したい場合の対応方法
MySQLのREGEXPで半角記号を検索したい場合の対応方法

MySQLのREGEXPで半角記号を検索したい場合\\を付けてエスケープしないと ...

PHPでファイルのダウンロード時に速度制限をかける方法(分割ダウンロード)
PHPでファイルのダウンロード時に速度制限をかける方法(分割ダウンロード)

オンラインストレージサービス等で有料会員じゃない場合、ファイルのダウンロード時に ...

PHPのLocationにGETパラメータとして変数を入れる方法
PHPのLocationにGETパラメータとして変数を入れる方法

PHPでページ遷移したい際に以下のように記述すると思う。 header("Loc ...