私はプログラミングにとても慣れていて、2日間このウェブスクレーパを作成しようと壁に頭をぶつけていました。元の機能不全を維持しながら、完全なスクリプトを単純化しました(実際のウェブスクレイピングもすべて削除しました)。シンプルなPHPのWebスクレイピングスクリプトが間違っていた
私はコードは訓練された目のために理解するのは簡単だと思いますが、convenianceのために、私はスクリプトがすることになっていると言うことでしょう:
- いくつかを設定しますサブアレイ
- 持つ配列を移入各サブアレイに値が、空の最後のサブ配列の値を残し
- 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';
}
}
?>
- > getcolor()** WITH **パラメータ? –
私はこの質問を理解できないのではないかと心配しています。私はコード全体へのリンクを提供します:[link](http://www.matthewwatts.net/tutorials/php-tutorial-2-advanced-data-scraping-using-curl-and-xpath/) GigaWattまたはGrokによって提案された変更、それは最終的に動作します - 大きなありがとう! – Martin
GigaWattの回答には説明があります。 –