You are on page 1of 5

Manual de PHP Referencia del Lenguaje Estructuras de control

Introduccin si ms elseif / else if Sintaxis Alternativa de Estructuras de Control mientras que do-while para foreach romper continuar interruptor declarar volver exigir incluir require_ vez include_ vez Ir

elseif / else if

si

[ editar ] ltima actualizacin: Viernes, 21 de octubre 2011 Ver esta pgina en

ms
Con Frecuencia SE DESEA ejecutar Una Sentencia Si Una determinada Condicin s cumple y Una Sentencia Diferente si la Condicin s no cumple. Esto Es Lo Que Sirve el prrafo ms . El otro extiende Una Sentencia siel prrafo ejecutar Una Sentencia en Caso Que La Expresin en la Sentencia , si s evalue COMO FALSO . Por Ejemplo, El Siguiente Cdigo debera mostrar una es Mayor Que b si $ a es Mayor Que $ b y un NO es Mayor Que b en El caso contrario:
<? Php if ( $ a > $ b ) { echo "uno es Mayor Que b" ; } else { echo "a NO es Mayor Que b" ; } >?

La Sentencia ms SLO es ejecutada si la Expresin si es evaluada COMO FALSO y si heno ALGUNAS Expresiones elseif - slo s si ejecuta also TODAS hijo evaluadas COMO FALSO (ver elseif ). elseif / else if si

[ editar ] ltima actualizacin: Viernes, 21 de octubre 2011

aadir una notausuarios est notas ms php a Keith Tyler dot com 05-Jul-2011 05:52

Esto es vlido sintaxis: <php? if ( $ a ) print "a es verdadero" ; else print "a es falso" ; ?>Un vestigio de la compatibilidad de fiesta al estilo de las versiones de PHP anteriores, tal vez.

smoldar at gmail dot com 28-Oct-2010 02:21


Usted puede utilizar el caso para hacer un campo S / No, verificar si la afirmacin es verdadera o no, y mostrar la opcin correcta seleccionada. <? php if ( $ variable == 'S' ) { ?>nombre de entrada <= "bla "type =" radio "value =" Y "checked =" checked "> S <input name="blah" type="radio" value="N"> No <? php } else { > <nombre de entrada = " bla "type =" radio "value =" Y "> S <input name="blah" type="radio" value="N" checked="checked"> No <? php} ?>

Larry HC 17-Aug-2009 05:08


Al escapar de HTML, usted puede obtener un error inesperado con T_ELSE lo siguiente: Error: <?if ($ estado) { dosomething; } >? <? else { HacerOtraCosa; } >? Correcto:<? if ($ estado) { dosomething; ?> <? } Else { HacerOtraCosa; } >? Al parecer, el compilador piensa a> <? se rompe la conexin entre el} y el otro

Thoden 25-Apr-2008 12:42

En Calibn Darklock No s si es slo mejoras en el analizador, pero hay una diferencia insignificante en el desempeo de "elseif" vs "else if" a partir de la versin 5. Una milsima de segundo en su ejemplo y ocho milsimas si la sentencia eval se repite 5 veces. Si las construcciones estn en el cdigo de regular, entonces no parece haber ninguna diferencia. Esto me lleva a creer que la diferencia en el cdigo de eval es desde all que un testigo de analizador extra. Adems, la carga de rendimiento de las funciones recursivas principal es el manejo de la pila de cambiar el contexto. En este caso creo que sera muy similar a analizar (si no idnticos) jmp controles. En resumen, el uso de su preferencia. Grado de legibilidad y facilidad de mantenimiento mucho ms alto en la escala de prioridades. Una nota adicional, parece que hay un lmite en el nmero de "else if" (declaraciones tal vez anidado en general) que se encargar de php antes de comenzar a obtener chiflado. Este lmite es de 1100. "Elseif" no se ve afectado por esto.

dormeydo at gmail dot com 12-abr-2008 11:51


Una sintaxis alternativa y muy til es la siguiente: estado de cuenta? ejecutar si es cierto: ejecutar si es falso Ths es muy til para outout dinmico dentro de las cadenas, por ejemplo:print ('$ a es ($ a> $ b' mayor que ': igual ($ a == $ b'.? a ':' smaler que ".)) '$ b'); Esto imprimir "$ a es smaler de $ b" es de $ b es mayor que $ a, "$ a es mayor que $ b" si $ a si ms grande y "$ a es igual a $ b" si son lo mismo.

Mitch en mitchellbeaumont dot com 24-Jul-2007 07:09


En gwmpro en yahoo punto com La llave de cierre no se requiere sin embargo, para facilitar la lectura y el mantenimiento, muchos desarrolladores que lo consideran un mal estilo que no los incluyen.

Calibn Darklock 08-Nov-2004 07:24


Si usted viene de otro idioma que no tiene el "elseif" construir (por ejemplo C + +), es importante reconocer que "else if" es un lenguaje anidados construir y "elseif" es un lenguaje lineal, la construccin, que pueden ser comparados en el rendimiento de un bucle recursivo en lugar de un bucle iterativo. <php? $ limit = 1000 ; for ( $ idx = 0 ; $ idx < $ limit , $ idx + +) { $ lista [] = "if (false) echo \ "$ idx; \ n \", ms " ;} $ lista [] = "echo \" $ idx \ n \ ";" ; $ espacio = implosin ( "" , $ lista ); | / / si. .. else if ... ms $ NoSpace =implosin ( "" , $ lista ); / / si ... elseif ... ms $ start = array_sum ( explotar ( "" ,microtime ())); eval ( $ espacio ); $ fin = array_sum ( explotar ( "" , microtime ())); echo $ end - $ start . "segundos \ n " ; $ start = array_sum ( explotar ( "" , microtime ())); eval ($ NoSpace ); $ fin = array_sum ( explotar ( "" , microtime ())); echo $ end - $ start ."segundos \ n " ; ?> Esta prueba debe demostrar que "elseif" se ejecuta en aproximadamente dos tercios del tiempo de "else if". (El aumento de $ limit tambin eventualmente causar una pila del analizador error de desbordamiento, pero el nivel en que esto sucede es ridculo en trminos del

mundo real. Nadie normalmente los nidos si () bloquea a ms de un millar de los niveles a menos que estn tratando de romper las cosas, que es un problema completamente diferente). Todava hay una necesidad de "else if", ya que puede tener el cdigo adicional que se ejecutar incondicionalmente en algn peldao de la escalera, un "else if" permite la construccin de este cdigo incondicional para ser perfectamente integrado antes de o despus todo el resto del proceso. Considere el siguiente elseif () escala: ? <php if ( $ a ) {condicional1 ();} elseif ( $ b ) { conditional2 ();} elseif ( $ c ) { conditional3 ();} elseif ( $ d ) { conditional4 ();} elseif ( $ e ) { conditional5 ();} elseif ( $ f ) { conditional6();} elseif ( $ g ) { conditional7 ();} elseif ( $ h ) { conditional8 ();} ms { conditional9();} >? Para insertar el cdigo de pre-procesamiento incondicional para adelante e $, solo hay que dividir el "elseif": <php? if ( $ a ) { condicional1 ();} elseif ( $ b ) { conditional2 () ;} elseif ( $ c ) { conditional3 ();} elseif ( $ d ) { conditional4 ();} else { ....incondicional (); .... if ( $ e ) { conditional5 ();} . ... elseif ( $ f ) { conditional6 ();}.... elseif ( $ g ) { conditional7 ();} .... elseif ( $ h ) { conditional8 ();} else {....conditional9 ();} } ?> La alternativa es duplicar el cdigo incondicional a lo largo de la construccin.

Agregar una nota show source | crditos Copyright 2001-2011 The PHP Group Todos los derechos reservados.

Estadsticas

Mapa del sitio

contacto

publicidad

sitios espejo

Este espejo generosamente proporcionados por: Yahoo! Inc.

You might also like