2016-10-30 3 views
0

Ich schreibe eine PHP-Funktion, um ISO 3166-1 Alpha 2 Codes in die Landes-Telefon-Code zu konvertieren. Meine Herausforderung ist, dass wenn ich die Funktion anrufe, nur das + Symbol erscheint. Wie bekomme ich die Zahlen auch angezeigt? Unten ist der Code, den ich verwendet habe, nur dass ich die Anzahl der Länder reduziert habe.Funktion zum Umwandeln von ISO 3166-1 Alpha-2-Codes in Telefoncodes mit assoziativen Arrays

<?php 

function ctryarray($data) 
{ 
$redata = ""; 

$country['AF'] = "+93"; 
$country['AL'] = "+355"; 
$country['DZ'] = "+213"; 
$country['AS'] = "+1"; 

$redata = $country[$data]; 
return $redata; 

} 
?> 

//Then I use the following code to call it: 

$countrycode = ctryarray($ccode); 

wobei $ ccode der ISO 3166-1 alpha-2-Code ist.

+0

Es gibt keinen Weg, es ist ein Problem in der angezeigter Code. Wenn ein Problem der von Ihnen beschriebenen Art existiert, muss es woanders sein. – GordonM

+0

Fragen, die Debugging-Hilfe suchen ("Warum funktioniert dieser Code nicht?") Müssen das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten Code enthalten, der für die Reproduktion in der Frage erforderlich ist. Fragen ohne eine klare Problemstellung sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (https://stackoverflow.com/help/mcve). –

Antwort

0

Während der Code Ihnen zur Verfügung gestellten zeigt nicht den Fehler Ihr beschreiben, es könnte wahrscheinlich ein wenig verdichtet werden, und es sollte auch eine gewisse Fehlerprüfung haben:

function ctryarray($data) { 
    $country['AF'] = "+93"; 
    $country['AL'] = "+355"; 
    $country['DZ'] = "+213"; 
    $country['AS'] = "+1"; 

    if (array_key_exists($data,$country)) { 
    return $country[$data]; 
    } else { 
    return false; 
    } 
} 
+0

Ich fügte die Fehlerprüfung hinzu, aber immer noch das gleiche Ergebnis – Eddier10

+0

Dann ist etwas anderes falsch. Nicht mit den Informationen, die du hier angegeben hast, denn das funktioniert perfekt (getestet), aber irgendwo anders im Code. – junkfoodjunkie

+0

Danke Leute, ihr wart alle in Ordnung, ich habe den Code etwas genauer studiert und festgestellt, dass ich ihn mit einer Funktion umschalte, die ein Array zurückgibt. Ich schätze Ihre Hilfe – Eddier10

Verwandte Themen