2017-09-19 21 views
0

私は$ slotという配列を持っています。フォーム提出時に$ POSTパラメタとして受け取っています。なぜこのphp配列をキーでインデックスできないのですか?

私はprint_r($slot)を行うと、PHPスクリプトは、この配列の内容を示しています

Array (['start_time'] => 12:00 PM ['end_time'] => 1:00 PM) 

私は単にこれをインデックスによって時間(12:00 PM &午後1:00)をつかむことができるようにしたいですアレイ。しかし、私がしようとするとき:

echo $slot['start_time'] 

何も表示されません!私はなぜ単に私は配列をインデックス化することによって値を取得することはできませんが困惑しています。私はまだPHPに慣れてきており、皆さんの洞察力に感謝しています。

ありがとうございます。

全コード

foreach ($_POST['slots'] as $slot) { 
     print_r($slot); 
     echo $slot["start_time"]; 

} 

出力:

Array (['start_time'] => 12:00 PM ['end_time'] => 1:00 PM) 

ので、それは予想通りますprint_r文が実行されるが、START_TIME

+4

出力されていますか?あなたのコードを私たちに教えてください。 – Script47

+0

私にとってうまく動作します:https://ideone.com/7y8vHj – Barmar

+0

私たちはあなたを助けるために何か再現可能なものを必要としています。 – Script47

答えて

3

をエコーあなたが単一引用符を持っていることを思いませんあなたの配列キーの中に'start_time'はありません。start_time。キーから引用符を削除するか、引用符でアクセスしてください:

echo $slot["'start_time'"]; 
+0

はい、これは完全に機能します!ありがとうございました。私は自分のフォームにparamという名前をつけて、一重引用符を追加してしまった。 –

関連する問題