尝试将$mode
设置为1后,echo命令打印出来:
mode: 0 (see here)
before: 0
after: 1
mode: 0 (see here)
before: 0
after: 1
为什么?
$generations = str_get_html($json['html'])->find('option');
$loop = true;
$tries = 1;
$mode = 0;
while ($loop && $tries > 0) {echo 'mode: '.$mode.' (see here)<br>';
$loop = false;
foreach ($generations as $generation) {
++$j;
if ($j == 0) continue; // Пропускаем первый элемент спарсенного списка
$params = array(
// [0] - числовой ID, [1] - "человекопонятное" название
'filter_brand' => $car[0],
'filter_model' => $model[0],
);
if ($generation != null) {
if ($mode == 0) {
$generationn = array(trimNumber(trim($generation->getAttribute('value'))), trim($generation->plaintext));
$params['filter_generation'] = $generationn[0];
$carlist_plain = parse('http://podbor-akkumulyatora.ru/site/submit/?' . http_build_query($params));
if (!$carlist_plain) die('Не удалось спарсить двигатели у поколения ('.$generationn[1].') модели ('.$model[1].') машины ('.$car[1].')');
} else {
// Not working
$gen_a = $generation->find('a', 0);
$generationn = array(trim($gen_a->href), trim($gen_a->plaintext));
debug($generationn);
//$carlist_plain = parse('http://podbor-akkumulyatora.ru/site/submit/?' . );
}
} else {
$carlist_plain = parse('http://podbor-akkumulyatora.ru/site/submit/?' . http_build_query($params));
if (!$carlist_plain) die('Не удалось спарсить двигатели у модели ('.$model[1].') машины ('.$car[1].')');
}
$carlist_plain = str_get_html($carlist_plain[0]);
$carlist = $carlist_plain->find('.carlist ul li');
if (count($carlist) < 1) {
$generations = $carlist_plain->find('.generation ul li[itemprop="itemListElement"]');
$loop = true;
--$tries;
echo 'before: '.$mode.'<br>';
$mode = 1; // Not working
echo 'after: '.$mode.'<br><br>';
break;
}
// Handling $carlist here...
}
}
答案 0 :(得分:0)
非常异常,但我将$mode
移出了所有循环,代码正在运行