Je rencontre des problèmes avec cURL ne pas être en mesure de se connecter à un serveur qui retourne un flux xml et ne suis pas sûr si mon code empile et provoque le problème. Est-il possible que la fonction finale appelée dans cette boucle foreach soit toujours en cours d'exécution lorsque l'itération de la boucle suivante arrive.PHP pile foreach - est-il possible que les fonctions appelées dans chaque boucle sont toujours en cours d'exécution lors de la prochaine itération est appelée
Est-il possible de vous assurer que toutes les fonctions dans la boucle complète avant la prochaine itération commence ou ne foreach cette opération par défaut de toute façon? J'ai essayé la fixation d'un vrai retour sur process_xml() et exécution d'un test dans la boucle: if ($ this-> process_xml (xml_array de $)) continue; mais il ne semble pas avoir un effet et semble être une mauvaise idée de toute façon.
foreach($arrayOfUrls as $url){
//retrieve xml from url as string.
if($url_xml_string = $this->getFeedStringUsing_cURL($url)){
$xml_object = simplexml_load_string($url_xml_string);
$xml_array = $this->feedStringToArray($xml_object);
//process the xml.
$this->process_xml($xml_array);
}
}
Cela dépend si oui ou non tous les appels de fonction dans la boucle sont synchrones. –