2017-08-04 47 views
0

我現在有一個數組這樣array_push:如何關聯數組

 $this->array[$i] = array(
        'Date' => $date->format('d/m/Y'), 
        'Capital' => $capital, 
        'Rate' => $rate, 
        'Interest' => $interest, 
        'Payment' => $payment, 
        'Amortization' => $amortization, 
        'Remaining' => $remaining, 
        'InterestTotal' => $interestTotal, 
        'AmortizationTotal' => $amortizationTotal, 
        'PaymentTotal' => $paymentTotal, 
        'InverseCapital' => $inverseCapital, 
      ); 

所以......在這cicle,爲$ i = 0 ... $ I < 360 ... 它將這個值推入一個數組中。

我想讓這部分代碼獨立於[$ i]。我想這是水木清華這樣的:

array_push(($this->array), 
        'Date' => $date->format('d/m/Y'), 
        'Capital' => $capital, 
        'Rate' => $rate, 
        'Interest' => $interest, 
        'Payment' => $payment, 
        'Amortization' => $amortization, 
        'Remaining' => $remaining, 
        'InterestTotal' => $interestTotal, 
        'AmortizationTotal' => $amortizationTotal, 
        'PaymentTotal' => $paymentTotal, 
        'InverseCapital' => $inverseCapital, 
); 

回答

0

只需按下完整的數據作爲數組: -

array_push($this->array,array(
     'Date' => $date->format('d/m/Y'), 
     'Capital' => $capital, 
     'Rate' => $rate, 
     'Interest' => $interest, 
     'Payment' => $payment, 
     'Amortization' => $amortization, 
     'Remaining' => $remaining, 
     'InterestTotal' => $interestTotal, 
     'AmortizationTotal' => $amortizationTotal, 
     'PaymentTotal' => $paymentTotal, 
     'InverseCapital' => $inverseCapital 
    ) 
); 

或做象下面這樣: -

$this->array['Date'] = $date->format('d/m/Y'); 
$this->array['Capital'] = $capital; 
$this->array['Rate'] = $rate; 
$this->array['Interest'] = $interest; 
$this->array['Payment'] = $payment; 
$this->array['Amortization'] = $amortization; 
$this->array['Remaining'] = $remaining; 
$this->array['InterestTotal'] = $interestTotal; 
$this->array['AmortizationTotal'] = $amortizationTotal; 
$this->array['PaymentTotal'] = $paymentTotal; 
$this->array['InverseCapital'] = $inverseCapital; 

注意: - 第一個會給你多維數組,而第二個會給你一維數組。

+1

這兩個樣品是不等價的。第一個是二維數組,第二個是一維數組。 – deceze

+0

@deceze你對,第一個幫助我。我接近真相:) –

-1

您正在使用關聯數組,因此您只需像這樣設置鍵/值對。我想你可能需要回顧一下數組和關聯數組之間的區別。例如,如果我再次運行相同的命令用不同的值會覆蓋舊的:

$array["Password"] = "overwritten"; 

給你這個

Array ([Username] => user 
     [Email] => email 
     [Password] => "overwritten" 
    ) 

由你的問題判斷是不是你的期望是什麼

OR

試用array_merge代替:

$array = array('Username' => 'user', 'Email' => 'email'); 
$array = array_merge($array, array('Password' => 'pass')); 

這將產生數組:

array('Username' => 'user', 'Email' => 'email', 'Password' => 'pass');