2017-07-14 5 views
-1

Je crée un code de mise au rebut qui annule chaque adresse dans une banlieue spécifique. mais im coincé dans ce problème; "Utilisation de la constante non définie j - supposée 'j'" et identifiée dans $ target_url quelqu'un peut-il m'aider à résoudre ce problème?Utilisation de la constante indéfinie j - supposé 'j'

$arr = array("Illawong 2232", 
      "Strathfield 2135", 
      "Croydon 2132", 
      "Croydon Park 2133", 
      "Burwood 2134", 
      "Parramatta 2150", 
      "Hurtsville 2220", 
      "Seven Hills 2153", 
      "Blacktown 2148", 
      "Toongabie 2146", 
      "Winston Hills 2153", 
      "Bondi Beach 2026", 
      "Bondi Junction 2022", 
      "Coogee 2034", 
      "Pymble 2073", 
      "Miranda 2228", 
      "Caringbah 2229", 
      "Sylvania 2224", 
      "Drummoyne 2047", 
      "Concord 2137" 
      ); 
     $counter = count($arr); 
for($j=0;$j<$counter; $j++) 
    { 

      $arr2 = array("list-1", "list-2", "list-3","list-4", "list-5"); 
      $count = count($arr2); 

      for($i=0;$count>$i;$i++) 
       { 

        //scrapping starts here 
        $target_url = "http://www.xxxxxxxxx.com.au/buy/".$arr[j]."/".$arr2[i]."?includeSurrounding=false"; 
        $html = new simple_html_dom(); 



        $html->load_file($target_url); 

        foreach($html->find('a[class=name]') as $vcard) 
        { 
         echo $vcard. "<br/>" 
        } 
       } 
    } 

Répondre

1

Il est clair, vous n'avez pas le programme dans les variables de C. PHP commencer par $ signe. S'il n'y a pas de signe dollar, ils sont traités comme des constantes.

$arr[j] doit être $arr[$j] et $arr2[i] doit être $arr2[$i].

1

Utilisez this- Vous utilisez une variable sans signe $, c'est pourquoi il est considérer comme chaîne « j »

<?php 
$arr = array("Illawong 2232", 
      "Strathfield 2135", 
      "Croydon 2132", 
      "Croydon Park 2133", 
      "Burwood 2134", 
      "Parramatta 2150", 
      "Hurtsville 2220", 
      "Seven Hills 2153", 
      "Blacktown 2148", 
      "Toongabie 2146", 
      "Winston Hills 2153", 
      "Bondi Beach 2026", 
      "Bondi Junction 2022", 
      "Coogee 2034", 
      "Pymble 2073", 
      "Miranda 2228", 
      "Caringbah 2229", 
      "Sylvania 2224", 
      "Drummoyne 2047", 
      "Concord 2137" 
      ); 
     $counter = count($arr); 
for($j=0;$j<$counter; $j++) 
    { 

      $arr2 = array("list-1", "list-2", "list-3","list-4", "list-5"); 
      $count = count($arr2); 

      for($i=0;$count>$i;$i++) 
       { 

        //scrapping starts here 
        $target_url = "http://www.xxxxxxxxx.com.au/buy/".$arr[$j]."/".$arr2[$i]."?includeSurrounding=false"; 
        $html = new simple_html_dom(); 



        $html->load_file($target_url); 

        foreach($html->find('a[class=name]') as $vcard) 
        { 
         echo $vcard. "<br/>" 
        } 
       } 
    } 
+0

Cela fonctionne Merci! – zerconis

+0

Comment puis-je gérer cette erreur: "Erreur fatale: dépassement de la durée maximale d'exécution de 30 secondes" pouvez-vous m'aider? – zerconis

+0

vous pouvez prolonger le temps d'exécution maximum comme ceci - ini_set ('max_execution_time', 0); OU éditez votre htaccess php_value max_execution_time 0 –

1

Lorsque vous utilisez variables vous devez utiliser $ symbole avant de les sinon vous aurez un erreur pour la constante indéfinie, alors changez ici

$target_url = "http://www.xxxxxxxxx.com.au/buy/".$arr[$j]."/".$arr2[$i]."?includeSurrounding=false"; 
                //^here  //^here