2013-11-04 71 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; 

?> 
相關問題