Dag allemaal,

Ik wil graag een multi array uitlezen. In die array zit data die ik via een API ontvang. Ik heb hem ondertussen zo ver dat ik de data uit de laatste array kan lezen, maar deze toont die 7 keer! (hetzelfde aantal als het aantal velden in die array). Wat doe ik verkeerd?

<?php
foreach($debtorList as $mainArray => $mainArrayValue) {
if ($mainArray == 'debtors'){
foreach($mainArrayValue as $debtorArray => $debtorArrayValue){
//print_r_pre($mainArrayValue);

foreach($debtorArrayValue as $debtorField => $debtorValue){
//Nu hebben we alleen de debiteuren

print_r_pre($debtorArrayValue);
//echo $value['DebtorCode'] . '<br />';
?>

Voorbeeld output van de hele array. Het vette gedeelte wil ik per debiteur uitlezen.

Array
(
    [controller] => debtor
    [action] => list
    [status] => success
    [date] => 2014-05-16T13:57:24+00:00
    [totalresults] => 1
    [currentresults] => 1
    [offset] => 0
    [filters] => Array
        (
            [searchat] => EmailAddress|SecondEmailAddress
            [searchfor] => company.com
        )

    [debtors] => Array
        (
            [0] => [b]Array
                (
                    [Identifier] => 1
                    [DebtorCode] => DB0001
                    [CompanyName] => Company Y
                    [Sex] => m
                    [Initials] => John
                    [SurName] => Jackson
                    [EmailAddress] => [email protected]
                )[/b]

        )

)


De hoofd-array is een associatieve array.

Laten we er even van uit gaan dat deze hoofd-array opgeslagen is in de variabele $arr.

Je kunt dan DIRECT naar 'debtors' gaan met $arr['debtors'] omdat 'debtors' een element is van de hoofdarray.

'debtors' is op zijn beurt ook weer een array maar geen associatieve array. In deze array worden de elementen gewoon opvolgend genummerd met 0, 1, 2 enz. Dit staat voor 1e debiteur, 2e debiteur, 3e debiteur enz. Ik neem aan dat je alle debiteuren wilt laten zien..

Wat je dus heel simpel kunt doen is het volgende:
<?php
foreach($arr['debtors'] as $debtor)
{
echo $debtor['SurName'].'<br>';
}
?>

Ik denk dat je er zo wel mee verder komt.
Ah, dat dat is een heel stuk simpeler inderdaad! Thanks!

@Nick Dijkstra: Ik heb gezocht naar de code tag, maar kon die niet vinden. Misschien een idee om die als shortcode bij de andere shortcodes te zetten?

Reageren