Меня это озадачило. Я использую сканер Dom от Symfony для фильтрации некоторых элементов перед извлечением данных узла и их помещением в массив, который можно преобразовать в json. Тем не менее, приведенный ниже код выдает ошибку «Uncaught TypeError: array_push(): Аргумент № 1 ($array) должен иметь тип массива».
if($query == 'begin') {
$persons = $crawler->filter('#content > table > tr > td > a');
$trial = [];
$persons->each(function (Crawler $node) {
$holder['name'] = $node->text();
$holder['url'] = $node->attr('href');
print_r($holder['name']);
// Correct value printed
print_r($holder['url']);
// Correct value printed
; array_push($trial, $holder);
});
var_dump($trial);
print_r показывает ожидаемое значение ключа, но массив $trail имеет значение NULL.
Тем не менее, когда я пытаюсь, выдаются правильные значения:
$persons->each(function (Crawler $node) {
echo "
attr('href')}'>{$node->text()}
";
});
Подробнее здесь: https://stackoverflow.com/questions/770 ... -push-each
Symfony Dom Crawler Array Push Each ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
PHP cURL – Как проверить, получает ли Google Crawler правильный файл robots.txt
Anonymous » » в форуме Php - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Можно ли запустить приложение Crawler по конкретной деятельности приложения?
Anonymous » » в форуме Android - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-