人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のような配列を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"
)

)

)

);

●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:00 2007-04-01 name ng PHP
○ 状態 :終了
└ 回答数 : 1/3件

▽最新の回答へ

1 ● じゃっくそにっく
●60ポイント

こんにちは。

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

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

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

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

・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>
◎質問者からの返答

ありがとうございますw

最近、javascriptとPHPでの

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

しまい申し訳ないですw

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ