Symfony Dom Crawler Array Push Each ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Symfony Dom Crawler Array Push Each

Сообщение Anonymous »

Меня это озадачило. Я использую сканер 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

Вернуться в «Php»