Fixe et Récupère les Valeurs des Propriétés
Les exemples suivants présument que $compagnie est la racine d'un arbre d'objets de données créés depuis le schéma et le document montré ci-dessus.
Exemple #1 Accès via les noms de Propriété
<?php $company->name = 'Acme'; ?>
Exemple #2 Accès via le nom de la propriété en tant que tableau indexé
<?php $company['name'] = 'UltraCorp'; $eotm = $company['employeeOfTheMonth']; ?>
Exemple #3 Itération d'objet de données
<?php $eotm = $company->employeeOfTheMonth; foreach ($eotm as $name => $value) { echo "$name: $value\n"; } ?>
<?php $departments = $company->departments; ?>
Exemple #5 Accès aux éléments à valeurs multiples
<?php $ad_tech_dept = $company->departments[0]; ?>
Exemple #6 Itération d'une propriété à valeurs multiples
<?php foreach ($company->departments as $department) { // ... } ?>
<?php $company->departments[0]->name = 'Emerging Technologies'; $dept_name = $company->departments[0]->name; ?>
<?php $company['departments'][0]['name'] = 'Emerging Technologies'; $dept_name = $company['departments'][0]['name']; ?>
<?php $jane_doe = $company["departments[1]/employees[2]"]; ?>
<?php $jane_doe = $company["departments.0/employees.1"]; ?>
<?php $ad_tech_mgr = $company["departments[name='Advanced Technologies']/employees[manager=true]"]; ?>
Exemple #10 Création d'objets de données fils
<?php $ad_tech_dept = $company["departments[name='Advanced Technologies']"]; $new_hire = $ad_tech_dept->createDataObject('employees'); $new_hire->name = 'John Johnson'; $new_hire->SN = 'E0005'; $new_hire->manager = false; ?>
Exemple #11 Effacement d'une propriété primitive
<?php unset($company->departments[0]->name); ?>
Exemple #12 Effacement d'un objet de données
<?php unset($company->departments[0]->employees[0]); ?>
Exemple #13 Effacement d'un objet de données référencé
<?php if (isset($company->employeeOfTheMonth)) { unset($company->employeeOfTheMonth); } ?>
Exemple #14 Accès via l'index de la propriété
<?php $company[1] = 'Acme'; ?>
L'utilisation directe de l'index dans ce cas est fragile. Normalement, la syntaxe reposant sur le nom de la propriété est préférable, mais l'index des propriétés peut être nécessaire dans des cas très spéciaux.