Heim  >  Artikel  >  Backend-Entwicklung  >  求教php如何创建一个带键名的空数组,后期再赋值

求教php如何创建一个带键名的空数组,后期再赋值

WBOY
WBOYOriginal
2016-06-23 13:55:211165Durchsuche

刚接触php,不知道能否先创建一个带键名的空数组,后期使用时在赋值。因为此数组的键名个数是变化的,不能直接定义数组。
我的想法如下:

...$strkeys= "'tagname'=>,'descr'=>,'unit'=>,";for($w= 1; $w<= $days; $w++){    $strkeys= $strkeys."'".$w."日'=>,";}$strkeys= $strkeys."'Total'=>";$excelres[]= array($strkeys);//print_r($excelres);

但使用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'=> ) ) 


回复讨论(解决方案)

首先你创建数组的格式就不对.

$strkeys= ['tagname'=>'',           'descr'=>'','unit'=>''];$days=30;for($w= 1; $w<= $days; $w++){    $strkeys[$w.'日']='';}$strkeys['Total']='';print_r($strkeys);

[] 格式是PHP 5.4 及以上版本才有的数组简写格式

$strkeys= array('tagname'=>'','descr'=>'','unit'=>'');$days = 31;for($w= 1; $w<= $days; $w++){	$strkeys[$w.'日'] = '';}$strkeys['Total'] = '';$excelres[]= $strkeys;print_r($excelres);



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] => 
        )

)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:unset火狐无效Nächster Artikel:WinInet模拟HTTP的POST请求出错