2010-08-05 4 views
0

Je veux faire boucle avec XPath() avec cette fonction:Faire boucle en XPath(): Appel à une fonction membre XPath() sur un non-objet

function rs(){ 

$rs = array(); 
$cities = array("city1", "city2", "city3", "city4", "city5", 
    "city6", "city7", "city8"); 
foreach ($cities as $value) { 

    $rs[] = $xmls->xpath("area[city= '$value']"); 

} 
return $rs; } 

$rs = rs(); 

Edit:

function meteor(){ 

$request_url = "http://meteoroloji.gov.tr/FTPDATA/analiz/sonSOA.xml"; 
$xml = simplexml_load_file($request_url) or die("feed not loading"); 
return $xml;} 
$xmls = meteor(); 

avec print_r($rs); J'ai Fatal error: Call to a member function xpath() on a non-object. Ma fonction est-elle incorrecte? (Je ne suis pas familliar avec OOP) Merci d'avance

Répondre

2

$xmls n'est pas dans la portée, aussi simple que cela. Passez-le comme un argument (rs($xmls)), ou le définir comme un attribut si c'est une méthode d'une classe plutôt que d'une fonction autonome (et si cela serait plus logique).

+0

J'ai essayé l'argumant avant, il ne fonctionne pas aussi. – TheNone

+1

Fournissez l'exemple de la fonction avec un argument, et le code que vous utilisez pour appeler la fonction, et peut-être que nous pouvons en voir plus. En l'état, "ça ne marche pas trop" n'est pas une description de problème qui nous soit utile. – Wrikken

+0

@Wrikken; Merci pour l'aide, Avec "ça ne marche pas trop" signifie que j'ai la même erreur avec argument. Avec $ xmls globaux, il n'y a pas d'erreur. Je veux savoir pourquoi l'argument ne marche pas dans ce cas de POO. – TheNone

Questions connexes