求教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);
Salin selepas log masuk
但使用print_r($excelres);后得到结果和想的不一样,如下:
Array ( [0] => Array ( [0] => 'tagname'=>,'descr'=>,'unit'=>,'1日'=>,'2日'=>,'3日'=>,'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日'=>,'Total'=> ) [1] => Array ( [0] => 'tagname'=>,'descr'=>,'unit'=>,'1日'=>,'2日'=>,'3日'=>,'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日'=>,'Total'=> ) )
------解决方案--------------------首先你创建数组的格式就不对.
<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 />
Salin selepas log masuk
------解决方案--------------------<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 />
Salin selepas log masuk
Array
(
[0] => Array
(
[tagname] =>
[descr] =>
[unit] =>
[1日] =>
[2日] =>
[3日] =>
[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日] =>
[31日] =>
[Total] =>
)
)