en PHP, se puede manejar una lista de los nombres de los estados y sus abreviaturas con una matriz asociativa como esto:
<?php
$stateArray = array(
"ALABAMA"=>"AL",
"ALASKA"=>"AK",
// etc...
"WYOMING"=>"WY"
);
foreach ($stateArray as $stateName => $stateAbbreviation){
print "The abbreviation for $stateName is $stateAbbreviation.\n\n";
}
?>
salida (con un orden clave conservado):
The abbreviation for ALABAMA is AL.
The abbreviation for ALASKA is AK.
The abbreviation for WYOMING is WY.
EDIT: Tenga en cuenta que el orden de los elementos de la matriz se conserva en la salida de la versión php. La implementación de Java, utilizando un HashMap, no garantiza el orden de los elementos. Tampoco lo hace el diccionario en Python.
¿Cómo se hace esto en Java y Python? Sólo encuentro enfoques que suministran el valor, dada la llave, como pitón de:
stateDict = {
"ALASKA": "AK",
"WYOMING": "WY",
}
for key in stateDict:
value = stateDict[key]
EDIT: basado en las respuestas, este fue mi solución en Python,
# a list of two-tuples
stateList = [
('ALABAMA', 'AL'),
('ALASKA', 'AK'),
('WISCONSIN', 'WI'),
('WYOMING', 'WY'),
]
for name, abbreviation in stateList:
print name, abbreviation
Salida:
ALABAMA AL
ALASKA AK
WISCONSIN WI
WYOMING WY
Que es exactamente lo que se requería.
¿Por qué dices que PHP * "el orden de los elementos de la matriz se conserva en el resultado" *? ¿Este comportamiento ** está garantizado ** por los documentos de PHP? – Pacerier