Pays de provenance a partir du numéro de téléphone saisi

tallest17 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
tallest17 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Svp
je veux connaitre le pays auquel correspond un numéro de téléphone saisi dans un champ sur un formulaire.
l'indicatif et le numéro sont dans le même champ.
Merci

1 réponse

Utilisateur anonyme
 
Bonjour
Je ne fais pas de php, mais le principe est simple, tu extrais l’indicatif et tu regardes à quel pays ça correspond.
Tu peux faire avec un switch, si tu te limites à quelques pays, tu peux aussi te faire une énumération ou chaque pays à son indicatif comme valeur, sinon il te faut une liste lien les 2 infos (tableau à 2 dimensions par exemple.)
0
tallest17 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre intervention
Mais comment puis je récupérer l'indicatif puisque sa longueur varie d'un pays a un autre.
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
L'indicatif varie de 2 à 4 chiffres. Tu peux donc commencer par vérifier si les 2 premiers numéro du numéro correspond à un des code à 2 chiffres, sinon vérifier si les 3 premiers caractères correspondent à un code 3 chiffres, etc...

$countryCodes = array(
    'FR' => '33',
    'GB' => '44',
    'MZ' => '258',
    'NP' => '977',
    'VC' => '1784'
);

$testPhone1 = '330102030405';
// $testPhone1 = '9770102030405';

foreach ($countryCodes as $code) {
    if (substr($testPhone1, 0, strlen($code)) === $code) {
        echo $code;
    }
}
0
Utilisateur anonyme
 
Tu peux corréler ça avec le nombre de chiffres qui suivent
https://fr.wikipedia.org/wiki/Numéro_de_téléphone
0
tallest17 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   > Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci beaucoup
ça marche mais je veux que ma fonction me retourne le code du pays.
MERCI
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527 > tallest17 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Pour retourner le code du pays, il suffit d'ajouter les clés du tableau dans le parcours de la boucle :
foreach ($countryCodes as $codePays => $indicatif) {
    if (substr($testPhone1, 0, strlen($indicatif)) === $indicatif) {
        echo $codePays;
    }
}
0