質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

PHP5.4以前の多次元連想配列の書き方について

Kosuke
Kosuke

総合スコア1

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2回答

0評価

0クリップ

162閲覧

投稿2022/05/17 17:21

はじめまして。新米エンジニアのKOSUKEと申します。

前提

PHPの多次元連想配列について質問させてください。
会社でAPIの導入を任されたのですが、APIの供給元から渡されたサンプルプログラムでは動作できずに困っております。
使っているサーバのバージョンが、PHP 5.3.3の環境になっており、
渡されたサンプルプログラムが動作しませんでした。(PHP7のサーバでは動きました。)

実現したいこと

PHP5.3.3の環境でも動作するようにしたい

発生している問題・エラーメッセージ

このページは動作していませんwww.xxxxx.jp では現在このリクエストを処理できません。 HTTP ERROR 500

該当のソースコード

$data = array( "mb_id"=>$mb_id, "apikey"=>$apikey, "data"=>array([ "OrderId" =>"00001", "deviceSkuId" =>"1650420568080904", "days" =>"1", "email" =>"test@mail.com" ], [ "OrderId" =>"00002", "deviceSkuId" =>"1650420606732909", "days" =>"1", "email" =>"test@mail.com" ], [ "OrderId" =>"00003", "deviceSkuId" =>"1650420606727908", "days" =>"1", "email" =>"test@mail.com" ]) );

試したこと

インターネットで調べたところ、配列の書き方である[]は5.4以降の書き方とのことで、arrayに書き換えることによって、動作するはずなのですが、多次元の書き方だからか色々試しても動作をせず、途方に暮れてしまいました。。見落としや別の問題なのかもしれませんが、PHP5.3.3で動作するようにするにはどのように書き換えたらよいかご助言いただけないでしょうか?

補足情報(FW/ツールのバージョンなど)

初歩的なものかもしれませんが、かなりつまっておりまして、お助けください!
何卒、よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806

2022/05/17 21:13

現状でまだたくさん[]が残ってますが、これは書き換えた後ですか? また、本当にここだけですか? 500エラーの原因は本当に多岐に渡るので、画面上にエラーを出さないようにしているのでしたら、エラーログから確認していく必要があります。
Kosuke

2022/05/18 00:55

ありがとうございます! おっしゃる通りエラーログは、出さない様にしていたのですが、デバッグするのであれば、一時的に出すことも必要ですね。他の方の回答で配列の記載に関しては解決したのですが、他の部分で解決できていないところもあるので、試してみます!ありがとうございます。
m.ts10806

2022/05/18 01:53 編集

画面表示しなくてもエラーログファイルには出てると思います。
Kosuke

2022/05/18 02:20

調べてみたのですが、残念ながらエラーログファイルは出力しない設定になっているようで、ありませんでした。(おそらく、PHPエラーが多すぎてはかないようにしてあるのではいかと💦) 追加のアドバイスまで頂き大変助かりました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。