PHP でキー名を持つ空の配列を作成し、後で値を割り当てる方法を教えてください
PHP は初めてなので、最初にキーを持つ空の配列を作成してからできるかどうかわかりません後で使用するときに値を割り当てます。この配列内のキー名の数は変化するため、配列を直接定義することはできません。
私のアイデアは次のとおりです:
<br />...<br />$strkeys= "'tagname'=>,'descr'=>,'unit'=>,";<br />for($w= 1; $w<= $days; $w++)<br />{<br /> $strkeys= $strkeys."'".$w."日'=>,";<br />}<br />$strkeys= $strkeys."'Total'=>";<br />$excelres[]= array($strkeys);<br />//print_r($excelres);
ログイン後にコピー
しかし、print_r($excelres); を使用すると、次のように結果が予想したものと異なります。配列 ( [ 0] => 'tagname'=>,'descr'=>,'unit'=>,'1st'=>,'2nd'=>,'3rd'=>, 「4 日」=>、「5 日」=>、「6 日」=>、「7 日」=>、「8 日」=>、「9 日」=>、「10 日」=>、 '11 日'=>、'12 日'=>、'13 日'=>、'14 日'=>、'15 日'=>、'16 日' =>、'17 日'=>、' 18 日'=>、'19 日'=>、'20 日'=>、'21 日'=>、'22 日'=>、'23 日'=>、'24 日'=>、'25 日'=>,'26日'=>,'27日'=>,'28日'=>, '29日'=>,'30日'=>,'合計'=> ) [1] => 配列 ( [0] => 'タグ名'=>,'説明'=>,'ユニット'=>,'1st'=>,'3rd'= >、'4th'=>、'5th'=>、'6'=>、'7th'=>、'8th'=>、'9th'=>、'10th'=> ;,'11日'=>、'12日'=>、'13日'=>、'14日'=>、'15日'=>、'16日'=>、'17日'=> 、'18日'=>、'19日'=>、'20日'=>、'21日'=>、'22日'=>、'23日'=>、'24日'=>、 '25 日'=>、'26 日'=>、'27 日'=>、'28 日'=>、'29 日'=>、'30 日'=>、'合計 '=>) )
-----解決策---------
最初に作成した配列の形式は間違っています。
<br />$strkeys= ['tagname'=>'',<br /> 'descr'=>'','unit'=>''<br />];<br />$days=30;<br />for($w= 1; $w<= $days; $w++)<br />{<br /> $strkeys[$w.'日']='';<br />}<br />$strkeys['Total']='';<br />print_r($strkeys);<br />
ログイン後にコピー
-----解決策---------
<br />$strkeys= array('tagname'=>'','descr'=>'','unit'=>'');<br />$days = 31;<br />for($w= 1; $w<= $days; $w++)<br />{<br /> $strkeys[$w.'日'] = '';<br />}<br />$strkeys['Total'] = '';<br />$excelres[]= $strkeys;<br /><br />print_r($excelres);<br />
ログイン後にコピー
配列
(
[0] => 配列
(
[タグ名] =>
[説明] =>
[単位] => [1 番目] => [2 番目] => [3 番目] =>
[5 番目] => ;
[6 番目] =>
[9 番目] = >
[10 番目] => [11 日] => [12 日] =>
[14 日] =>
[16 日] => ;
[17 日] => [18 日] =>
[21 日] => [22 日] =>
[23 日] =>
[25日] =>
[26日] =>
[27日] =>
[28日] =>
[29日] =>
[30日] =>
[31日] =>
[Total] =>
)
)