CASE変換:PHPはURLからパラメータを取得し、配列に
私は別のページから注文品目と数量を取得しようとしているが、私はGET使用してそれを渡しているし、私は必要があります(http://foo.bar/?view=process-order&itm=1&qty=1000..を。)このパラメータを取ると、このシーケンス以下の多次元配列に変換するには:
EXPECTED:
URLは次のようになります。http://foo.bar/?view=foo-bar&itm=1&qty=1000&itm=2&qty=3000&itm=3&qty=1850
[0]=>
[itm]=>'1',
[qty]=>'1000',
[1]=>
[itm]=>'2',
[qty]=>'3000',
[2]=>
[itm]=>'3';
[qty]=>'1850',
etc.
CODE:
$url = $_SERVER['REQUEST_URI']; //get the URL
$items = parse_url($url, PHP_URL_QUERY); //get only the query from URL
$items = explode('&', $items);//Explode array and remove the &
unset($items[0]); //Remove view request from array
$items = implode(",", $items); //Implode to a string and separate with commas
list($key,$val) = explode(',',$items); //Explode and remove the commas
$items = array($key => $val); //Rebuild array
実績:
[itm=1] => [qty=1000]
実際の動作:
結果は配列の最初の要素だけを残して、同じようにそれを作りますarray({[itm=1]=>[qty=1000]})
ywayは私が必要なものではありません。 私がPHPの多くのページを読んだとしても、ドキュメントは解決策を見つけることができません。
getパラメータの代わりにSessionを使用する必要があります。 –
'Expected'の3つの項目について、URLがどのように表示されるかの完全な例を書き留めてください。あなたはitmとqtyの名前を再利用したいと思う?もしそうなら、答えはもっと複雑になります。 – Forbs
が更新されました。変数を連結して渡します。同じ項目を使用したくないです。 – andreaem