我正在尝试使用simple_html_dom和PHP从页面中选择以下形式的记录:name / job / address。问题是并非每条记录都存储了“工作”的值。假设一个页面有10条记录,其中只有2条记录了一个人的工作,那么如果我使用以下内容:
foreach($html->find('span[class="name"]') as $e) {
$name[]=$e->innertext;
}
foreach($html->find('span[class="job"]') as $e) {
$job[]=$e->innertext;
}
foreach($html->find('span[class="address"]') as $e) {
$address[]=$e->innertext;
}
然后当我来访问这三个数组时,我发现$ job数组只有两个记录长,而名字和地址长10个,所以我不知道这10个名字中的哪一个和#39;属于'至。有没有办法保持阵列的步骤'相互之间,还是其他一些保持记录连贯完整的方式?
谢谢。
答案 0 :(得分:1)
然后在Job节点为空时插入一个空值!!
foreach($html->find('span[class="job"]') as $e) {
$value=$e->innertext;
if (empty($value))
$job[] = null;
else
$job[] = $value;
}
或使用简写if-else版本$job[] = (empty($value) ? null : $value);