-PR-
解決済み

配列を関数に渡したいのですが…

  • 困ってます
  • 質問No.972833
  • 閲覧数49
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 49% (224/453)

次のように配列を関数に渡したいのですが、うまく出来ません。どのようにしたら良いのでしょうか?

渡したい配列の個数は、偶数個ですが、未知の個数です。

$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
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

array で渡さないといけませんので、

A_LINK(array("TEST_NAME", "TEST_VAL"));

のようにします。
一旦作ってから渡すなら、

$arg = array();
$arg[] = "TEST_NAME";
$arg[] = "TEST_VAL";
A_LINK($arg);

とすれば良いでしょう。
補足コメント
goonejp

お礼率 49% (224/453)

要するに、URLエンコードした値を&でつなげるだけなのですが、PHPにこれを一つで出来る関数があったような気がしたのですが、私の気のせいでしょうか???
投稿日時 - 2004-08-24 11:00:42

その他の回答 (全1件)

  • 回答No.2
レベル7

ベストアンサー率 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;
}

?>
補足コメント
goonejp

お礼率 49% (224/453)

要するに、URLエンコードした値を&でつなげるだけなのですが、PHPにこれを一つで出来る関数があったような気がしたのですが、私の気のせいでしょうか???
投稿日時 - 2004-08-24 11:02:22


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

-PR-
ページ先頭へ