Informatie uitlezen

Nu hebben wij een mooi object waar de benodigde informatie in staat, maar hoe lezen we het uit? Dat doen we als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $users->user[0]->name; //Jan
?>

$users slaat op het object dat we op de vorige pagina hebben gemaakt. user[0] slaat op onze 'Jan' gebruiker. Dat komt, je raadt het al, 'user' een array is. 'name' slaat op de name tag in het xml bestand.

Uitlezen met behulp van foreachen
'user' kan je foreachen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
foreach ($users->user as $user) {
    echo 'Naam: '. $user->name;
    echo "\n";
    echo 'Geslacht: '. $user->sex;
    echo "\n\nAdmin opties:\n";
    echo 'Avatar: '.$user->avatar.'('.$user->avatar['type'].')';
    echo "\n";
    echo '<a href="?editavatar&id='.$user['id'].'">Bewerken</a>';
}

?>


Dit is misschien wat ingewikkeld voor een beginner, maar ik zal het uitleggen:
$user->sex slaat op de sex tag in het XML bestand. $user->avatar['type'] slaat op het type attribuut van het avatar tag van de desbetreffende gebruiker. $user['id'] slaat op het id attribuut van de user tag.

Informatie defineren
De informatie die je eruithaalt is niet 'static', je mag eraanzitten. Je kan bijvoorbeeld Jan's avatar wijzigen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$users
->user[0]->avatar = 'http://www.avatars.com/av_2.png';
?>


Of alle avatars uitschakelen door middel van Xpath, dat SimpleXML ook ondersteunt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($users->xpath('//avatar') as &$avatar) {
   $avatar['type'] = 'none';
}

?>

De refentie van $avatar slaat op dat in PHP 5 je kan referen in foreach loops, wat best makkelijk is!

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Informatie uitlezen
  3. Informatie opslaan en ophalen
  4. Informatie opslaan

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.