Как я начинаю использовать php, xml и все такое веселье.
В php код из этого примера в w3school, Я добавил переменную:
//lookup all links from the xml file if length of q>0
if (strlen($q)>0) {
$hint="";
for($i=0; $i<($x->length); $i++) {
$y=$x->item($i)->getElementsByTagName('title');
$z=$x->item($i)->getElementsByTagName('url');
// добавленная переменная
$w=$x->item($i)->getElementsByTagName('w');
.
if ($y->item(0)->nodeType==1) {
//find a link matching the search text
if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) {
if ($hint=="") {
$hint="<a href='" .
$z->item(0)->childNodes->item(0)->nodeValue .
"' target='_blank'>" .
$y->item(0)->childNodes->item(0)->nodeValue . "</a>
// добавили var в цикл с некоторым текстом:
<p>textLabel: " . $w->item(0)->childNodes->item(0)->nodeValue . " </p>";
Мой xml содержит что-то вроде этого:
<title>1</title>
<url>5</url>
<w></w>
Я хочу выполнить проверку, является ли переменная ‘w’ пустой или нет, в моем случае достаточно проверить целое число, может быть, как это ?:
if (is_int($w)) {
# code...
}
Я пытаюсь изменить код php с помощью операторов if, но я генерирую только непредвиденные ошибки if_t всякий раз, когда пытаюсь его вставить.
Желаемым конечным результатом является отображение labelText и значения, если есть int, иначе ничего не отображается.
редактировать
С var_dump()
по моим переменным я выяснял, что происходит. Пустые узлы возвращают NULL, так что это было приятно знать.
Я приступил к вставке заявления if:
if ($c->item(0)->nodeType==1) {
//find a name matching the search text
if (stristr($c->item(0)->childNodes->item(0)->nodeValue,$q)) {
if ($hint=="") {
//new if statement to check if node value is NULL
if (is_null($f->item(0)->childNodes->item(0)->nodeValue)) {
$lbl="";
} else{$lbl='some text to display or not';
}
$hint=
затем я конкатенировал $ lbl там, где хотел текст, и это сработало!
Я уверен, что есть лучший подход, но с моими днями опыта программирования я был очень счастлив понять это! Цените советы, чтобы сделать это лучше, хотя 🙂
Задача ещё не решена.
Других решений пока нет …