(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir
$ifade, ?DOMNode $bağlamsal_düğüm = null, bool $kaydet = true): mixed
ifade ile belirtilen XPath ifadesini çözümler ve
mümkünse yazılı bir sonuç verir.
ifadeDeğerlenderelecek XPath ifadesi.
bağlamsal_düğümSeçimlik olarak, göreli XPath sorguları yapmak içindir. Öntanımlı olarak sorgular kök elemana göre çözümlenir.
kaydetBağlam düğümünün kapsam içi ad alanı öneklerinin DOMXPath nesnesine otomatik olarak kaydedilip kaydedilmeyeceği. Bu, kapsam dahilindeki her ad alanı için DOMXPath::registerNamespace() öğesini manuel olarak çağırmaya gerek kalmaması için kullanılabilir. Bir ad alanı öneki çakışması olduğunda, yalnızca en yakın soydan gelen ad alanı öneki kaydedilir.
Mümkünse sonucu bir dizge orarak döndürür, değilse belirtilen XPath ifadesi ile eşleşen tüm düğümleri içeren bir DOMNodeList nesnesi döner.
ifade bozuksa ya da
bağlamsal_düğüm geçersizse,
DOMXPath::evaluate() false döndürür.
Örnek 1 - Tüm İngilizce kitapların sayısını döndürmek
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// sorgumuzu tbody düğümüne göre yapalım
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "$entries İngilizce kitap var.\n";
?>Yukarıdaki örneğin çıktısı:
2 İngilizce kitap var.