当我开始使用php,xml和所有有趣的时候。
在php code from this example at 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 in循环:
<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...
}
我尝试使用if语句修改php代码,但每当我插入它时,我只生成了意外的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连接到我想要文本的地方,并且它有效!
我确信有一个更好的方法,但随着我编程exp的日子,我很高兴能够弄明白!尽管如此,可以以更好的方式提供建议:)