[PHP-users 18863]Re: インデックス付きの配列の生成

SEGAMI Takashi sage @ microcad.co.jp
2003年 11月 11日 (火) 16:53:12 JST


瀬上です。


<1288129.1068286414737.JavaMail.go16 @ mac.com>
 "[PHP-users 18853]インデックス付きの配列の生成"
 "Inoue Daigo <go16 @ mac.com>" wrote:

> 以下のようなインデックス付きの配列から別の配列を生成したいのですが、どうもう
まくいきません。
> $form=array("お名前" =>"name","メイル" =>"mail","パスワード" =>"password");
> $count=0;
> foreach ($form as $key => $tmp){
> 	if($arrcount > 0){$conf .=" , ";}
> 		$conf .= sprintf("\"%s\" => \"%s\"",$tmp,$key);	break;
> 	$count++;
> 	}
> }
> $confirm=array($conf);
> 
> print_r ($confirm);を実行すると
> Array ( [0] => "name" => "お名前" , "mail" => "メイル" , "password" => "パス
ワード");

$arrcountが$countだとすれば、上記を実行した結果は、print_rに出力
されているとおりだと思います。

なにか配列の認識が間違っているようです。
カンマ(,)で区切った文字列が配列ではないですよ。
キーと値を逆にしたければ、foreachループの中で1つずつ配列を追加
していけばいいだけです。
もしかしたら便利関数があるかもしれませんが、特別難しいことではな
いはずです。

/*
 * 瀬上 孝司 / SEGAMI Takashi <sage @ microcad.co.jp>
 * 株式会社マイクロ・シー・エー・デー 情報アーキテクチャ室
 */



PHP-users メーリングリストの案内