Ich habe eine Funktion, die eine URL durch eine Curl-Anfrage lädt, aber ich habe gelesen, dass die Verwendung von global ist nicht die richtige/richtige Weise zu erreichen, was ich erreichen möchte.Variablen in einer Funktion mit globalem Gültigkeitsbereich erstellen?
Der folgende Code funktioniert für das, was ich versuche zu erreichen, jedoch nur mit dem globalen Schlüsselwort. Ist dies der beste Weg, dies zu erreichen? Vielen Dank.
<?php
function loadURL($feedURL, $feedName) {
global $$feedName;
$curl = curl_init();
curl_setopt_array($curl, Array(
CURLOPT_URL => $feedURL,
CURLOPT_TIMEOUT => 120,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_ENCODING => 'UTF-8',
CURLOPT_INTERFACE => 'IP.ADD.RE.SS'
));
$data = curl_exec($curl);
curl_close($curl);
$$feedName = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA);
}
loadURL ("http://www.tesco.com/sitemap.xml", "TescoFeed");
var_dump($TescoFeed);
?>
Sie nur '$ verwenden können GLOBALS [$$ feedName] = simplexml_load_string ($ data, 'SimpleXMLElement', LIBXML_NOCDATA); 'Aber warum nicht einfach 'zurückkommen'? – AbraCadaver
Ich habe 'Rückkehr' versucht, aber es erlaubt mir nicht, auf die definierte Variable auf einer globalen Skala zuzugreifen? – huberu
Warum nicht einfach ein assoziatives Array erstellen und zurückgeben? – Barmar