- ベストアンサー
配列を関数に渡したいのですが…
次のように配列を関数に渡したいのですが、うまく出来ません。どのようにしたら良いのでしょうか? 渡したい配列の個数は、偶数個ですが、未知の個数です。 $A_LINK = A_LINK("TEST_NAME", "TEST_VAL"); function A_LINK($array) { while (count($array) > 0) { $name = array_shift($array); $value = array_shift($array); $name = urlencode($name); $value = urlencode($value); $msg .= "$name=$value"; } return $msg; }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
array で渡さないといけませんので、 A_LINK(array("TEST_NAME", "TEST_VAL")); のようにします。 一旦作ってから渡すなら、 $arg = array(); $arg[] = "TEST_NAME"; $arg[] = "TEST_VAL"; A_LINK($arg); とすれば良いでしょう。
その他の回答 (1)
- tripod_r
- ベストアンサー率38% (5/13)
私が複数の要素を関数に渡す場合は下記の様にします。 (簡単に書きますのであとは応用して下さい) <? $y_name[0]='name0'; $y_name[1]='name1'; $y_name[2]='name2'; $y_value[0]='value0'; $y_value[1]='value1'; $y_value[2]='value2'; $A_LINK=A_LINK($y_name,$y_value); exit; function A_LINK($y_name,$y_value){ for ($i = 0; $y_name[$i] != ''; $i++) { $name = $y_name[$i]; $value = $y_value[$i]; $name = urlencode($name); $value = urlencode($value); $msg .= "$name=$value"; } return $msg; } ?>
補足
要するに、URLエンコードした値を&でつなげるだけなのですが、PHPにこれを一つで出来る関数があったような気がしたのですが、私の気のせいでしょうか???
補足
要するに、URLエンコードした値を&でつなげるだけなのですが、PHPにこれを一つで出来る関数があったような気がしたのですが、私の気のせいでしょうか???