Search code examples
phpvcf-vcardsabresabredav

sabre: looping through TEL-property doesn´t provide what expected


A probably simple question - but I´m blockheaded:

Following sabre/vobject usage instruction I will loop the TEL-property to get numbers and their types.

BEGIN:VCARD
TEL;TYPE=HOME,PREF:+15551234560
TEL;TYPE=HOME,FAX:+15551234569
TEL;TYPE=WORK:+155523456789
END:VCARD
foreach ($vCard->TEL as $number) {
    echo (string)$number . ': ' . $vCard->TEL['TYPE'] . PHP_EOL;
}

Instead of

+15551234560: HOME,PREF
+15551234569: HOME,FAX
+155523456789: WORK

I receive:

+15551234560: HOME,PREF
+15551234569: HOME,PREF
+155523456789: HOME,PREF

Solution

  • The solution I found is:

    foreach ($vCard->TEL as $key => $number) {
        echo (string)$number . ': ' . $vCard->TEL[$key]->parameters['TYPE'] . PHP_EOL;
    }