Default element bij selectie mbhv een array

Status
Niet open voor verdere reacties.

bn2vs

Terugkerende gebruiker
Lid geworden
18 aug 2007
Berichten
1.705
Hey,

Ik heb de volgende code:
PHP:
		$mapTypes = array(
			'googlemaps' => array(
					'normal' => 'G_NORMAL_MAP',
					'satelite' => 'G_SATELLITE_MAP',
					'hybrid' => 'G_HYBRID_MAP'),
			'openlayers' => array(
					'normal' => 'normal',
					'satelite' => 'satelite',
					'hybrid' => 'hybrid'),
			'yahoomaps' => array(
					'normal' => 'YAHOO_MAP_REG',
					'satelite' => 'YAHOO_MAP_SAT',
					'hybrid' => 'YAHOO_MAP_HYB')			
		);

		$type = $mapTypes[$service][$type];

Normaalgezien heeft $type een van de waarden normal, satelite of hybrid. De bedoeling is dat die veranderd word naar het type van de bijhorende map service. Bovenstaande code werkt, maar ik weet niet hoe ik best een soort default kan instellen (in het geval dat $type een verkeerde waarde heeft).

Wat is de beste manier hiervoor?

Cheers
BN
 
Zoiets? :)

PHP:
if ( isset ( $mapTypes[$service][$type] ) ) {
  $type = $mapTypes[$service][$type];
}
else {
  $type = 'default?';
}
 
Of er een functie van maken met in de trend van
PHP:
function getMapType($type = "default") {

}
 
Dat komt in de buurt, maar laat niet toe om voor elke service een andere default te hebben.

Je code zette me echter op het correcte spoor:

PHP:
$type = isset($mapTypes[$service][$type]) ? $mapTypes[$service][$type] : $mapTypes[$service][0];

EDIT: of dit:

PHP:
$type = $mapTypes[$service][ isset($mapTypes[$service][$type]) ? $type : 0 ];

Dan moet ik er gewoon voor zorgen dat de default's eerst staan :)

Als iemand een beter oplossing weet...

Cheers
BN
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan