Contoh berikut menganggap $company adalah akar pohon objek data yang dibuat dari skema dan dokumen contoh yang ditunjukkan di atas
Contoh #1 Akses melalui nama properti
Properti objek data dapat diakses menggunakan sintaks akses properti objek. Berikut ini menetapkan nama perusahaan menjadi 'Acme'
$company->name = 'Acme';
?>
Contoh #2 Akses melalui nama properti sebagai indeks array
Kami juga dapat mengakses properti menggunakan sintaks array asosiatif. Bentuk paling sederhana dari ini menggunakan nama properti sebagai indeks array. Misalnya, berikut ini menetapkan nama perusahaan dan mendapatkan employeeOfTheMonth
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_
Contoh iterasi Objek Data #3
Kita dapat mengulangi properti objek data menggunakan foreach. Berikut ini mengulangi properti karyawan bulan ini
$eotm = $company->employeeOfTheMonth;
foreach ($eotm as $name => $value) {
echo "$name: $value\n";
}
?>
Properti 'pengelola' bukan keluaran, karena belum disetel
Contoh #4 Mengakses properti bernilai banyak berdasarkan nama
Properti objek data bernilai banyak juga dapat diakses menggunakan sintaks nama properti objek. Berikut ini adalah daftar departemennya
$departments = $company->departments;
?>
Contoh #5 Akses elemen bernilai banyak
Kita dapat mengakses elemen individual dari properti bernilai banyak menggunakan sintaks array. Berikut ini mengakses departemen pertama di perusahaan
$ad_tech_dept = $company->departments[0];
?>_
Contoh #6 Iterasi properti bernilai banyak
Properti bernilai banyak juga dapat diulang menggunakan foreach. Berikut iterate atas departemen perusahaan
foreach ($company->departments as $department) {
// ...
}
?>
Setiap iterasi akan menugaskan departemen berikutnya dalam daftar ke variabel $department
Contoh #7 Akses properti yang dirantai
Kami dapat merangkai referensi properti dalam satu baris. Set berikut dan dapatkan nama departemen pertama
$company->departments[0]->name = 'Emerging Technologies';
$dept_name = $company->departments[0]->name;
?>_
Menggunakan sintaks array asosiatif, ini setara dengan
$company['departments'][0]['name'] = 'Emerging Technologies';
$dept_name = $company['departments'][0]['name'];
?>
Dalam kedua kasus tersebut, variabel dept_name diatur ke 'Emerging Technologies'
Contoh #8 Navigasi XPath
Indeks array asosiatif dapat berupa ekspresi mirip XPath. Ekspresi yang valid ditentukan oleh sub-set XPath yang ditambah
Didukung dua bentuk pengindeksan ke properti bernilai banyak. Yang pertama adalah sintaks array XPath standar dengan pengindeksan dimulai dari satu, yang kedua adalah ekstensi SDO ke XPath dengan indeks dimulai dari nol. Sintaks standarnya adalah
$jane_doe = $company["departments[1]/employees[2]"];
?>_
dan sintaks ekstensi SDO XPath adalah
$jane_doe = $company["departments.0/employees.1"];
?>_
Kedua contoh ini mendapatkan karyawan kedua dari departemen pertama
Contoh #9 kueri XPath
Kita dapat menggunakan XPath untuk menanyakan dan mengidentifikasi bagian dari objek data berdasarkan data instan. Berikut ini mengambil manajer dari departemen 'Advanced Technologies'
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_0
Contoh #10 Membuat objek data anak
Objek data bisa menjadi pabrik untuk objek data anaknya. Objek data anak secara otomatis menjadi bagian dari grafik data. Berikut ini menambahkan karyawan baru ke departemen 'Advanced Technologies'
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_1
Contoh #11 Unset properti primitif
Kita dapat menggunakan fungsi isset() dan unset() untuk menguji dan menghapus item dari objek data
Berikut ini membersihkan nama departemen pertama
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_2
Contoh #12 Hapus objek data
unset juga dapat digunakan untuk menghapus objek data dari pohon. Contoh berikut menunjukkan John Jones meninggalkan perusahaan
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_3
Contoh #13 Hapus objek data yang direferensikan
Berikut ini menghapus 'employeeOfTheMonth' dari perusahaan. Jika ini adalah hubungan penahanan maka karyawan tersebut akan dikeluarkan dari perusahaan (mungkin bukan ide yang baik untuk memecat karyawan terbaik Anda setiap bulan. ), tetapi karena ini adalah referensi non-penahanan, karyawan yang dirujuk akan tetap berada di departemen di perusahaan, tetapi tidak lagi dapat diakses melalui properti employeeOfTheMonth
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_4
Contoh #14 Akses melalui indeks properti
Properti objek data dapat diakses melalui indeks propertinya menggunakan sintaks array. Indeks properti adalah posisi di mana definisi properti muncul di model (dalam hal ini skema xml). Kita dapat melihat dari daftar skema di atas bahwa atribut nama perusahaan adalah properti perusahaan kedua (antarmuka SDO tidak membedakan antara atribut dan elemen XML). Berikut ini menetapkan nama perusahaan menjadi 'Acme', dengan hasil yang sama seperti
$company['name'] = 'UltraCorp';
$eotm = $company['employeeOfTheMonth'];
?>_5
Menggunakan indeks secara langsung dengan cara ini cenderung rapuh. Biasanya sintaks nama properti lebih disukai, tetapi indeks properti mungkin diperlukan dalam kasus khusus