アプリ版:「スタンプのみでお礼する」機能のリリースについて

初歩的ですみません。

パラメータで下記のように変数は渡せるのは理解できます。
<a href="ppp.php?act=prev&popid=5&category=おおお&size=aaa"></a>

このデータをひとつにまとめて、配列とし、渡すことは可能でしょうか?

A 回答 (6件)

GETで配列を渡す場合



?hairetsu[]=0&hairetsu[]=1&hairetsu[]=2&hairetsu[]=3

こんな感じになります。
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。

渡したい配列がひとつの場合は、下記でよいのでしょうか?
?hairetsu[]
よろしくお願いします。

お礼日時:2011/10/21 12:54

>category=おおお



パラメータにダイレクトにマルチバイト文字を書くのはやめたほうがいいでしょう

>データをひとつにまとめて、配列とし

うーん、こういうことがしたいのでしょうか?

ppp.php?arg%5Bact%5D=prev&arg%5Bpopid%5D=5&arg%5Bcategory%5D=%A4%AA%A4%AA%A4%AA&arg%5Bsize%5D=aaa

とすれば、$_REQUEST["arg"]で受けられますね。
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございました。
説明が下手ですみません。
私がやりたいことは、パラメータをたくさん追加せず、
argという配列を渡したいです。
ppp.php?arg=$arg[]
不可能かと思うのですが、こうゆうことです。
よろしくお願いします。

お礼日時:2011/10/21 13:02

> 渡したい配列がひとつの場合は、下記でよいのでしょうか?


> ?hairetsu[]

OKです
    • good
    • 0

>argという配列を渡したいです。


>ppp.php?arg=$arg[]

かなり突拍子もない質問ですが、釣りじゃないですよね?
マジレスすると、理論上不可能です。
ppp.phpにパラメータを渡したいのに、パラメータを省略するって
意味が通じないでしょ?

もし前のページから引き継いだデータを別のページに引き継ぎたい
という話なら、セッションを使ってやることはできます
    • good
    • 0
この回答へのお礼

ありがとうございました。
セッションを使ってできました。

お礼日時:2011/11/10 17:07

<a href="ppp.php?act=prev&popid=5&category=おおお&size=aaa"></a>



ちょっと質問の意図がわかりませんが

   $arg = array ('act'=>'prev', 'popid'=>'5', 'category'=>'おおお', 'size'=>'aaa');

を(配列のまま)渡すのであれば、serialize/unserializeを使って

   print '<a href="ppp.php?arg=' . urlencode(serialize($arg)). '">target_url</a>';

とかですかね。受け取った側は

   $arg = unserialize($_GET['arg']);

とすれば配列に戻ります。

#何のためにそうしたのかはわかりませんが(汗

ちなみに例示された配列であれば

http://hostname/ppp.php?arg=a%3A4%3A%7Bs%3A3%3A% …

となります。下記のようなサンプルで確認できます。

<?php
if (isset($_GET['arg'])) {
print '<pre>';
print_r(unserialize($_GET['arg']));
print '</pre>';
}
print '<hr>';
$arg = array ('act'=>'prev', 'popid'=>'5', 'category'=>'おおお', 'size'=>'aaa');
print '<a href="?arg=' . urlencode(serialize($arg)) . '">target_url</a><br />';
print urlencode(serialize($arg));
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました。
質問がわかりにくく失礼しました。

お礼日時:2011/11/10 17:08

事情が許せば


<a href="ppp.php?act="
ではなく
<form method="post" action="ppp.php"
の形でppp.phpを呼び出すように変更する手があります。

以前、formでPOSTメソッドを使い、受け取ったPHP側で配列を配列として再現するような
処理をしたことがあります。

formを使う形に変更できるのであれば、挑戦してみてはどうでしょう
    • good
    • 0
この回答へのお礼

ありがとうございました。
勉強不足で失礼しました。

お礼日時:2011/11/10 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!