versiones guia español descargar actualizar php switch-statement case

php - guia - qgis manual



Manera más fácil que usar una caja de interruptor para cambiar el color (1)

Todo este bloque ...

switch($current) { case $case[0]:$id[0]="class = ''here''";break; case $case[1]:$id[1]="class = ''here''";break; case $case[2]:$id[2]="class = ''here''";break; case $case[3]:$id[3]="class = ''here''";break; case $case[4]:$id[4]="class = ''here''";break; case $case[5]:$id[5]="class = ''here''";break; case $case[6]:$id[18]="class = ''here''";break; case $case[7]:$id[6]="class = ''here''";break; case $case[8]:$id[7]="class = ''here''";break; case $case[9]:$id[8]="class = ''here''";break; case $case[10]:$id[9]="class = ''here''";break; case $case[11]:$id[10]="class = ''here''";break; case $case[12]:$id[11]="class = ''here''";break; case $case[13]:$id[12]="class = ''here''";break; case $case[14]:$id[13]="class = ''here''";break; case $case[15]:$id[14]="class = ''here''";break; case $case[16]:$id[15]="class = ''here''";break; case $case[17]:$id[16]="class = ''here''";break; case $case[18]:$id[17]="class = ''here''";break; }

puede ser reemplazado con un bucle:

for($i=0;$i<19;$i++) { if($case[$i] == $current) { $id[$i] = "class = ''here''"; break; } }

En general, si te encuentras escribiendo casi lo mismo para varias líneas, probablemente puedas reemplazarlo con un bucle de alguna manera (y casi con toda certeza).

En mi sitio web , utilizo una caja de conmutadores para dar un color al enlace activo de la barra de navegación.

Primero declare un array $case con todos los enlaces posibles en la barra de navegación. Luego, verifico si se hace clic en una función en una de las páginas (si la cadena de consulta no está vacía) y si se colocó en la matriz $case (para evitar cambiar de color cuando se hace clic en otros enlaces dentro de otras páginas) .)

Si es verdadero, $current obtendrá un valor como docs_zamo o akuut_wgakuut --> FILENAME_QUERY. Solo quiero cambiar el color cuando lo he declarado antes (en la matriz $ case) De lo contrario, será el nombre del archivo (sin ''.php'')

Encuentro esta pieza de código bastante difícil de manejar. ¿Hay alguna otra forma de hacer el trabajo? Soy bastante nuevo en PHP. Pensé; si hay una función que comprueba si existe un caso dentro de un switch, entonces no necesitaría el array $ case, porque ya habría declarado la existencia del enlace dentro del switch.

El código para verificar si es un enlace FILENAME_QUERY:

$case = array("index","medica","praesidium","akuut","sponsors","docs","docs_zamo","kalender","evenementen","fotos","werking","jaarraden","akuut_wgakuut","onderwijs","sociaal","sport","werkgroepen","eerstejaars","international",); if (($_SERVER[''QUERY_STRING''] != "") && (in_array(basename($_SERVER[''PHP_SELF''],''.php'') ."_". str_replace(''actie='','''',$_SERVER[''QUERY_STRING'']),$case) == true)) { $current = basename($_SERVER[''PHP_SELF''],''.php'') ."_". str_replace(''actie='','''',$_SERVER[''QUERY_STRING'']); } else {$current = basename($_SERVER[''PHP_SELF''],''.php'');}

El interruptor:

$id = array("","","","","","","","","","","","","","","","","","",""); switch($current) { case $case[0]:$id[0]="class = ''here''";break; case $case[1]:$id[1]="class = ''here''";break; case $case[2]:$id[2]="class = ''here''";break; case $case[3]:$id[3]="class = ''here''";break; case $case[4]:$id[4]="class = ''here''";break; case $case[5]:$id[5]="class = ''here''";break; case $case[6]:$id[18]="class = ''here''";break; case $case[7]:$id[6]="class = ''here''";break; case $case[8]:$id[7]="class = ''here''";break; case $case[9]:$id[8]="class = ''here''";break; case $case[10]:$id[9]="class = ''here''";break; case $case[11]:$id[10]="class = ''here''";break; case $case[12]:$id[11]="class = ''here''";break; case $case[13]:$id[12]="class = ''here''";break; case $case[14]:$id[13]="class = ''here''";break; case $case[15]:$id[14]="class = ''here''";break; case $case[16]:$id[15]="class = ''here''";break; case $case[17]:$id[16]="class = ''here''";break; case $case[18]:$id[17]="class = ''here''";break; } ?>

El HTML:

<div id=''menu''> <ul> <li><a href=''index.php'' <? echo $id[0]; ?>>home</a></li> <li><a href=''medica.php'' <? echo $id[1]; ?>>medica</a> <ul> <li><a href=''praesidium.php'' <? echo $id[2]; ?>>&raquo; praesidium</a></li> <li><a href=''akuut.php'' <? echo $id[3]; ?>>&raquo; akuut</a></li> <li><a href=''sponsors.php'' <? echo $id[4]; ?>>&raquo; sponsors</a></li> </ul> </li> <li><a href=''docs.php'' <? echo $id[5]; ?>>doc''s bar</a> <ul> <li><a href=''docs.php'' <? echo $id[5]; ?>>&raquo; doc''s</a></li> <li><a href=''docs.php?actie=zamo'' <? echo $id[18]; ?>>&raquo; zamo</a></li> </ul> </li> <li><a href=''kalender.php'' <? echo $id[6]; ?>>kalender</a> <ul> <li><a href=''evenementen.php'' <? echo $id[7]; ?>>&raquo; evenementen</a></li> </ul> </li> <li><a href=''fotos.php'' <? echo $id[8]; ?>>foto''s</a></li> <li><a href=''werking.php'' <? echo $id[9]; ?>>Werking</a> <ul> <li><a href=''jaarraden.php'' <? echo $id[10]; ?>>&raquo; jaarraden</a></li> <li><a href=''akuut.php?actie=wgakuut'' <? echo $id[11]; ?>>&raquo; akuut</a></li> <li><a href=''onderwijs.php'' <? echo $id[12]; ?>>&raquo; onderwijs</a></li> <li><a href=''sociaal.php'' <? echo $id[13]; ?>>&raquo; sociaal</a></li> <li><a href=''sport.php'' <? echo $id[14]; ?>>&raquo; sport</a></li> <li><a href=''werkgroepen.php'' <? echo $id[15]; ?>>&raquo; werkgroepen</a></li> </ul> </li> <li><a href=''eerstejaars.php'' <? echo $id[16]; ?>>eerstejaars</a></li> <li><a href=''https://www.medica-csd.be'' target=''_blank''>cursusdienst</a></li> <li style=''border:none;''><a href=''http://www.medica.be/w'' target=''_blank''>wikimedica</a></li> <li><a href=''international.php'' <? echo $id[17]; ?>>international <img src=''site/images/gb.png''></a></li> </ul> </div>