接收 foreach 中的数据的数组


An array that recieves data in foreach

我想在我的数组中包含类似的东西(这是一个示例):

[Mercedes]
    [Classe A]
        [220 CV]
        [300 CV GTI]
        ...
    [Classe B]
        ...

问题是我必须使用 foreach 来获取这些信息,但我不习惯。

这是我的代码:

foreach($aResultat['Domaines'] as $iDomaineKey => $aDomaineValue){
    $aResultat['DomaineUnique'][$iDomaineKey] = $this->Domaines->find($aDomaineValue['DOMAINE_ID']);  // ID LIB DOMAINE
    $aData['Domaines'][$iDomaineKey] = $aResultat['DomaineUnique'][$iDomaineKey][0]['DOMAINE_LIB']; // LIB DOMAINE
    $aResultat['Lignes'] = $this->GrillesDomainesLignes->find($aParametresGrille, $aDomaineValue['DOMAINE_ID']);
foreach($aResultat['Lignes'] as $iLigneKey => $aLigneValue){
    $aResultat['LigneUnique'][$iLigneKey] = $this->Lignes->find($aLigneValue['LIGNE_ID']);
    $aData['Ligne'][$iLigneKey] = $aResultat['LigneUnique'][$iLigneKey][0]['LIGNE_LIB'];
}

一些信息: find是一个可以从表中获取任何内容的函数(在我们的例子中是IDID LIB DomaineLigne

这是行不通的,我想我没有正确使用密钥。

$aResultat['Domaines] 是这样的:

    [Domaines] => Array
    (
        [0] => Array
            (
                [0] => 1
                [GRILLE_ID] => 1
                [1] => 1
                [DOMAINE_ID] => 1
                [2] => 1
                [ORDRE] => 1
            )
            ...

对于DomaineUnique:

    [DomaineUnique] => Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => 1
                        [DOMAINE_ID] => 1
                        [1] => TOTO
                        [DOMAINE_LIB] => TOTO
                    )
                    ...

对于$aResultat['Lignes']:

    [Lignes] => Array
    (
        [0] => Array
            (
                [0] => 1
                [GRILLE_ID] => 1
                [1] => 1
                [DOMAINE_ID] => 1
                [2] => 1
                [LIGNE_ID] => 1
                [3] => 1
                [ORDRE] => 1
            )
            ...

Domaine和Ligne是关联型的。而DomaineUnique和LigneUnique是真正的表,其中有我的LIB。

我的$aData返回这个:

$aDataArray
(
[Domaines] => Array
    (
        [0] => TOTO
        [1] => TOTO
        [2] => TOTO
        [3] => TOTO
    )
[Ligne] => Array
    (
        [0] => TATA
        [1] => TATA
        [2] => TATA

在你的代码中,你错过了一个}

foreach($aResultat['Domaines'] as $iDomaineKey => $aDomaineValue) {
    $aResultat['DomaineUnique'][$iDomaineKey] = $this->Domaines->find($aDomaineValue['DOMAINE_ID']);  // ID LIB DOMAINE
    $aData['Domaines'][$iDomaineKey] = $aResultat['DomaineUnique'][$iDomaineKey][0]['DOMAINE_LIB']; // LIB DOMAINE
    $aResultat['Lignes'] = $this->GrillesDomainesLignes->find($aParametresGrille, $aDomaineValue['DOMAINE_ID']);
} // This one!
foreach($aResultat['Lignes'] as $iLigneKey => $aLigneValue){
    $aResultat['LigneUnique'][$iLigneKey] = $this->Lignes->find($aLigneValue['LIGNE_ID']);
    $aData['Ligne'][$iLigneKey] = $aResultat['LigneUnique'][$iLigneKey][0]['LIGNE_LIB'];
}