var_dump($_POST);
を使用すると、次の出力が得られます。
array(2)
{
["data"] => array(2)
{
["title"] => "XXX"
["server"] => "XXXXXX"
}
["Itemid"] => "101"
}
私の目的は、server
値を取得することです。私はこれを使用して簡単にこれを達成できます:
$_POST['data']['server'];
スヌープして、次のcanを使用することがわかりました。
$array = $input->post->getArray(array());
$server = $array['data']['server'];
これはJInput
にとって最良のアプローチですか、それとももっと良い方法がありますか?
これはうまくいくはずです:
$values = $app->input->getArray(array('data'=>'array'));
echo $values['data']['server'];
Getとpostの両方の値を取得できるため、post変数については特に触れていません。投稿などの特定のスーパーグローバルから値を取得する必要がある場合は、$app->input->post
などを使用できます。
上記の形式で名前とデータ型を渡すことにより、複数の値を取得できます。この方法では、安全でない可能性のある生データを取得する代わりに、必要なものを正確に取得できます。必要なデータ型を常に言及してください。
あなたは試すことができます:
$data = $input->post->get('data', array(), 'ARRAY');
$server = $data['server'];
これをテストする遊び場はありませんが、うまくいくと思います。