2013-11-04 33 views
0
array_push($info["First_Names"], "$fname"); 
array_push($info["Last_Names"], "$lname"); 
array_push($info["Gender"], "$gender"); 

有没有人看到问题?数组推送只是替换变量而不是添加它们。用户在表单中定义了$fname,$lname$gender的变量。我希望将变量简单地添加到数组的末尾而不是被替换。任何回应表示赞赏。array_push正在替换变量而不是将它们添加到末尾

+0

是'$信息[ “First_Names”]'实际上是一个数组?你一直说“数组”,单数,但肯定每个'$ info ['First_Names']','$ info ['Last_Names']'和'$ info ['Gender']'是单独的数组? – meagar

+0

要以不同的方式表达meagar,你想要把这些值放入'$ info'或像$ info ['First_Names']'这样的二维数组中吗? – Machavity

+0

对不起,忘了提及; Info是一个数组,第一个/姓氏和性别都是信息,多维数组中的数组 – user2943358

回答

1

如果$info["First_Names"]$info["Last_Names"]$info["Gender"]是数组,我看不出有什么问题。

$info = array(); 

$info["First_Names"] = array(); 
$info["Last_Names"] = array(); 
$info["Gender"] = array(); 

$fname = 'Fname1'; 
$lname = 'Lname1'; 
$gender = 'M'; 

array_push($info["First_Names"] ,$fname); 
array_push($info["Last_Names"] ,$lname); 
array_push($info["Gender"] ,$gender); 

$fname = 'Fname2'; 
$lname = 'Lname2'; 
$gender = 'F'; 

array_push($info["First_Names"] ,$fname); 
array_push($info["Last_Names"] ,$lname); 
array_push($info["Gender"] ,$gender); 

var_dump($info); 

输出:

array (size=3) 
    'First_Names' => 
    array (size=2) 
     0 => string 'Fname1' (length=6) 
     1 => string 'Fname2' (length=6) 
    'Last_Names' => 
    array (size=2) 
     0 => string 'Lname1' (length=6) 
     1 => string 'Lname2' (length=6) 
    'Gender' => 
    array (size=2) 
     0 => string 'M' (length=1) 
     1 => string 'F' (length=1) 
0

From the manual:

Note: If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function.

例如

<?php 

$info["First_Names"][] = $fname; 
$info["Last_Names"][] = $lname; 
$info["Gender"][] = $gender; 

?> 
相关问题