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

Tadayuki Motoyama motoyama @ clinks.jp
2003年 11月 11日 (火) 17:36:44 JST


本山です。

配列のキーと値を逆転する関数 array_flip() を使ってはいかがでしょうか?

$form = array("お名前" =>"name","メイル" =>"mail","パスワード" =>"password");
$confirm = array_flip($form);
print_r($confirm);

--- 
値が同じ要素が複数あった場合は、そのうち最後の要素のみが有効になり、
ほかの要素は消滅します。
---
だそうです。

お試しください。

- 以上 -
------------------------
[PHP-users 18853]インデックス付きの配列の生成 from Inoue Daigo <go16 @ mac.com>
Sat, 08 Nov 2003 19:13:34 +0900


> お世話になっております。井上ともうします。
> 
> 以下のようなインデックス付きの配列から別の配列を生成したいのですが、どうもうまくいきません。
> $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" => "パスワード");
> などと出ます。[0] => 以降は配列として認識していないようです?
> array_push($confirm,array($tmp => $key));などの方法もいろいろ試してみましたが、
> インデックスがつくとどうもうまくいかないようです。
> 
> 例えば
> $confirm=array("name" =>"お名前","mail" =>"メイル","password" =>"パスワード");
> のような逆に生成した配列に変更したいのです。
> 
> どなたかご教授いただけたら本当に助かります。宜しくお願いいたします。
> 井上 大悟
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users


------------------------------------------
 Tadayuki Motoyama : motoyama @ clinks.jp


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