0
我在Zend Framework中創建了一個數組,我需要更改一些鍵。 這些鍵現在增加一個整數我需要增加他們不知何故。 我有以下代碼:如何更改數組中的鍵?
public function turnoverAction()
{
$arrayTurnover = array();
$selectDebiteur = $this->tableDebiteuren->select("debiteur_id","debiteur_nummer","bedrijf_id")
->setIntegrityCheck(false)
->where('debiteur_id = 3');
$debiteur = $this->tableDebiteuren->fetchRow($selectDebiteur);
$selectverkoopHoofdpost = $this->tableVerkoopHoofdpost->select("*")
->setIntegrityCheck(false);
$verkoopHoofdposten = $this->tableVerkoopHoofdpost->fetchAll($selectverkoopHoofdpost);
$currentYear = (int)date('Y');
$amountOfYearsToShow = $currentYear - 5 + 1;
for($amountOfYearsToShow; $amountOfYearsToShow <= $currentYear; $amountOfYearsToShow++)
{
$amountOfYearsToShowBegin = $amountOfYearsToShow.'-01-01';
$amountOfYearsToShowEnd = $amountOfYearsToShow.'-12-31';
$arrayYear = array();
$totaal = 0;
foreach($verkoopHoofdposten as $verkoopHoofdpost)
{
$selectverkoopSubpost = $this->tableVerkoopSubpost->select("*")
->setIntegrityCheck(false)
->joinLeft('verkoopPost','verkoopPost.verkoopSubpost_id = verkoopSubpost.verkoopSubpost_id')
->joinLeft('verkoop_verkoopPost','verkoop_verkoopPost.verkoopPost_id = verkoopPost.verkoopPost_id')
->joinLeft('verkopen','verkopen.verkoop_id = verkoop_verkoopPost.verkoop_id')
->where('verkopen.debiteur_nummer = ' . $debiteur['debiteur_nummer'])
->where('verkopen.verkoop_factuurdatum > ? ', $amountOfYearsToShowBegin)
->where('verkopen.verkoop_factuurdatum < ? ', $amountOfYearsToShowEnd)
->where('verkoopHoofdpost_id = ' . $verkoopHoofdpost['verkoopHoofdpost_id']);
$verkoopSubposten = $this->tableVerkoopSubpost->fetchAll($selectverkoopSubpost);
$totaal_hoofdpost = 0;
foreach($verkoopSubposten as $verkoopSubpost)
{
$totaal_hoofdpost += $verkoopSubpost['verkoopPost_verkoopsom'];
}
$totaal += $totaal_hoofdpost;
$turnoverValues['post']['totaal_hoofdpost'] = number_format($totaal_hoofdpost, 2, ',', '.');
$turnoverValues['post']['hoofdpost_omschrijving'] = $verkoopHoofdpost['verkoopHoofdpost_omschrijving'];
array_push($arrayYear, $turnoverValues);
}
$turnoverValue['totaal'] = number_format($totaal, 2, ',', '.');
array_push($arrayYear, $turnoverValue);
array_push($arrayTurnover, $arrayYear);
unset($arrayYear);
}
var_dump($arrayTurnover);
}
這將返回以下輸出:
array(2) {
[0]=>
array(2) {
[0]=>
array(1) {
["post"]=>
array(2) {
["totaal_hoofdpost"]=>
string(6) "value"
["hoofdpost_omschrijving"]=>
string(4) "value"
}
}
[1]=>
array(1) {
["post"]=>
array(2) {
["totaal_hoofdpost"]=>
string(5) "value"
["hoofdpost_omschrijving"]=>
string(8) "value"
}
}
}
[1]=>
array(2) {
[0]=>
array(1) {
["post"]=>
array(2) {
["totaal_hoofdpost"]=>
string(6) "value"
["hoofdpost_omschrijving"]=>
string(4) "value"
}
}
[1]=>
array(1) {
["post"]=>
array(2) {
["totaal_hoofdpost"]=>
string(5) "value"
["hoofdpost_omschrijving"]=>
string(8) "value"
}
}
}
}
但是我需要以下的輸出:
array(2) {
[2009]=>
array(2) {
["post"]=>
array(1) {
["totaal_hoofdpost"]=>
string(6) "value"
["hoofdpost_omschrijving"]=>
string(4) "value"
}
["post"]=>
array(1) {
["totaal_hoofdpost"]=>
string(5) "value"
["hoofdpost_omschrijving"]=>
string(8) "value"
}
}
[2010]=>
array(2) {
["post"]=>
array(1) {
["totaal_hoofdpost"]=>
string(6) "value"
["hoofdpost_omschrijving"]=>
string(4) "value"
}
["post"]=>
array(1) {
["totaal_hoofdpost"]=>
string(5) "value"
["hoofdpost_omschrijving"]=>
string(8) "value"
}
}
}
這在某種程度上可能嗎?
也許而不是array_push,你可以使用'array [$ amountOfYearsToShow] = $ arrayYear' – Volvox