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

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 11月 11日 (火) 16:50:06 JST


重松です。

ソースをみてもやりたいことが全然わかりません。
どういう配列を作りたいのか説明したほうがいいでしょう。

もしかして、キーと値をひっくり返したいだけ?

> $form=array("お名前" =>"name","メイル" =>"mail","パスワード" =>"password");
> $count=0;
> foreach ($form as $key => $tmp){
> 	if($arrcount > 0){$conf .=" , ";}
       ^^^^^^^^^ これは何?

> 		$conf .= sprintf("\"%s\" => \"%s\"",$tmp,$key);	break;
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 何がしたい?
それに break したら foreach 抜けてしまいませんか?

> 	$count++;
> 	}
> }
> $confirm=array($conf);

マニュアルをよく読むといいことがあるかもしれません。

それから、配列の作成ですが、

	$a = array(); // 空のを作成
	$a['キー'] = '値';

とするんですが、sprintf まで引っ張り出して何かややこしく考えているのでは?
# あるいは私が勘違いしている。

先のコードを私なりに解読すると、

$form=array("お名前" =>"name","メイル" =>"mail","パスワード" =>"password");
$confirm = array();
foreach ($form as $key => val) {
    $confirm[$val] = $key;
}

という感じ?
# エラーチェックは自分でどうぞ

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>



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