Mise à jour données / variables dans plusieurs fonctions
Posté : 03 janv. 2023, 16:41
Bonjour,
J'ai des difficultés à mettre à jour un champ en utilisant la variable utilisée dans une fonction.
J'ai, plus loin dans mon fichier, le code suivant pour rechercher une adresse via Nominatim Reverse depuis ses coordonnées géographiques :
Le fichier nominatim.php contient quant à lui le code suivant :
Tout fonctionne parfaitement (c'est à dire que mon adresse est affichée) quand j'utilise dans le premier fichier des nombres (/$latnominatim = 47.5; et $lonnominatim = 4.5;)
Problème : J'aimerais utiliser à la place de ces nombres les variables de ma fonction initiale ($latdepart2 et $londepart2).
Mais là, ça ne fonctionne pas.
Je crois savoir que les variables ne sont pas globales et sont dédiées à la fonction où elles sont mises en oeuvre.
Il me semble également avoir compris qu'on pouvait utiliser des variables de manière transversale, c'est à dire d'une fonction à une autre, voire les "transférer".
Je suis novice et les différentes options que j'ai testées n'ont pas abouti.
Je tourne autour sans résultat.
A l'aide !
Merci d'avance.
J'ai des difficultés à mettre à jour un champ en utilisant la variable utilisée dans une fonction.
Code : Tout sélectionner
...
function update_acf_field_value(){
$url = get_field('fichier_gpx', $post->ID)['url'];
$gpxStr = file_get_contents($url);
$r = parseGpx($gpxStr);
....
$latdepart2 = number_format($latdepart, 5);
$londepart2 = number_format($londepart, 5);
...
update_field('latitude_depart',$latdepart2);
update_field('longitude_depart',$londepart2);
}
Code : Tout sélectionner
//NOMINATIM
$latnominatim = 47.5;
$lonnominatim = 4.5;
require_once('blablabla/nominatim.php');
//FIN NOMINATIM
Code : Tout sélectionner
function getAddress($RG_Lat,$RG_Lon)
{
$json = "https://nominatim.osmpointorg/reverse?format=jsonv2&lat=".$RG_Lat."&lon=".$RG_Lon."&zoom=10&addressdetails=1";
$ch = curl_init($json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0");
$jsonfile = curl_exec($ch);
curl_close($ch);
$RG_array = json_decode($jsonfile,true);
return $RG_array['display_name'];
//$RG_array['address']['city'];
//$RG_array['address']['country'];
}
$addr = getAddress($latnominatim,$lonnominatim);
echo "Address: ".$addr;
Problème : J'aimerais utiliser à la place de ces nombres les variables de ma fonction initiale ($latdepart2 et $londepart2).
Mais là, ça ne fonctionne pas.
Je crois savoir que les variables ne sont pas globales et sont dédiées à la fonction où elles sont mises en oeuvre.
Il me semble également avoir compris qu'on pouvait utiliser des variables de manière transversale, c'est à dire d'une fonction à une autre, voire les "transférer".
Je suis novice et les différentes options que j'ai testées n'ont pas abouti.
Je tourne autour sans résultat.
A l'aide !
Merci d'avance.