Я очень плохо знаком с программированием и бьюсь головой об стену, пытаясь сделать этот веб-скребок уже 2 дня.Я упростил полный сценарий (даже удалив весь фактический просмотр веб-страниц), сохранив при этом исходную дисфункцию.
Я думаю, код достаточно прост для понимания обученным глазом, но для удобства я скажу, чтосценарий должен:
- Заполнить массив вложенными массивами
- Установить некоторые значения в каждом вложенном массиве, но оставить последнее значение вложенного массива пустым
- a) Получите последние значения подмассива с помощью другой функции, 3. b), а затем вставьте их в исходный массив
3.b, где сценарий завершается ошибкой.Значение не вводится (оно оставлено пустым).
Я знаю, что использую функции без параметров (полный код включает их), что может быть плохо, но дисфункция остается без них.
<?php
$scrape = new Scraper();
class Scraper
{
protected $cars = array();
function __construct()
{
$this->getcars();
foreach ($this->cars as $item) {
$item['color'] = $this->getcolor($item); // here is the fault!
}
}
private function getcars()
{
$listofcars = array('0','1','2');
foreach ($listofcars as $item) {
$this->cars[] = array('carname' => 'humvee','color' => '');
}
}
private function getcolor()
{
return 'green';
}
}
?>