以下のような配列をPHP側の$test_arrayに直書きしたいのですが

どう書いたらいいのでしょうか?
$test_array = Array
([0] => Array (
[0] => "count"
[1] => Array
(
["start_date"] => "2007-04-01 00:00:00"
["end_date"] => ""
["name"] => Array
(
[0] => "test1"
[1] => "test2"
)
["ok_name"] => Array
(
[0] => "OK/01"
[1] => "NG/02"
)

)

)

);

回答の条件
  • 1人5回まで
  • 登録:2007/06/04 18:47:21
  • 終了:2007/06/05 10:25:23

回答(3件)

id:jack_sonic No.1

じゃっくそにっく回答回数123ベストアンサー獲得回数252007/06/04 19:38:14

ポイント60pt

こんにちは。

直書き、というのは定義する際に直書きするという意味でしょうか?

・連想配列の要素キーには[]をつけません。

・要素は「,」でちゃんと区切ります。

・()の対応があっているかインデントをかけてしらべます。

・0,1..と順番通りに連想要素でない要素を追加していく場合、

自動的にに添え字の番号がつくので、[数字]=>で指定しなくてもいいです。

■定義を行い、ダンプ表示をしたサンプル

http://f29.aaa.livedoor.jp/~morg/wiki/sample/arydef.php

■ソース

・関数 getMyDump($ary) は、私が作った配列変数のテーブルダンプ用の

関数ですので、配列定義部分自体とは関係ありません。

・定義の部分を見てください

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT-JIS">
</head>
<body>
<br>
<?php

// 定義
$test_array = Array (
		      Array (
			    "count",
			     Array("start_date" => "2007-04-01 00:00:00",
				   "end_date"   => "",
				   "name" 	=> Array( "test1", "test2" ),
				   "ok_name"    => Array ("OK/01",  "NG/02" )
				   )
			    )
		    );

	echo "\$test_array=<BR>\n";
	echo getMyDump($test_array);
	echo "<br>\"0\",\"1\"は[0],[1]です。<br>\n";
// 出力
echo "<pre>\n";
echo "\$test_array=\n";
var_dump($test_array);
echo "</pre>\n";

	//////////////////////////////////////////////////////////////////////////////
	//
	//	配列変数内容ダンプ用関数
	function getMyDump($ary)
	{
		$retText="";
		$myCount = 0;
		foreach( $ary as $key => $val)
		{
			$myCount++;
			if($myCount==1) $retText .= "<table >\n";
			$retText .= "<tr >\n";
			// 配列かどうか
			if( is_array($val) )
			{
				// 変数名と内容を表示
				$retText .= ("<td style=\"border:1px solid #aaaaaa\">" .  "\"$key\"" .
					"</td><td style=\"border:1px solid #aaaaaa\">" . getMyDump($val) . "</td>\n");

			}else{
				// 文字コード変換
				$buffer =mb_convert_encoding($val,"EUC-JP",mb_detect_encoding($val));
				// 変数名と内容を表示
				$retText .= "<td style=\"border:1px solid #aaaaaa\">" .  "\"$key\"" .
					"</td><td style=\"border:1px solid #aaaaaa\">" . "\"$buffer\"" . "</td>\n";
			}
			$retText .= "</tr>\n";

		}
		if($myCount>0) $retText .= "</table>\n";

		return ($retText);

	}
?>
</body></html>
id:hopefully

ありがとうございますw

最近、javascriptとPHPでの

配列の書きかたがわからなくなって

しまい申し訳ないですw

2007/06/05 10:25:04

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 kn1967 2915 2772 301 2007-06-04 19:27:17
2 mokehehe 4 3 0 2007-06-05 08:37:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません