Wednesday 3 September 2008

Asignación condicional abreviada en PHP

Para los que todavía estais empezando en esto del PHP, quiero compartir con vosotros, casi a modo de comentario una sintaxis de PHP muy útil para hacer asiganciones condicionales de forma muy compacta.

Codigo de ejemplo 1
1  <?php
2  
3       
if ($a==1) { $b=2; } else { $b=3; }
4  
5  
?>

Codigo de ejemplo 2
1  <?php
2  
3       $b 
= ($a==1) ? 3;
4  
5  
?>

Estos dos códigos de ejemplo asignan el valor 2 o el valor 3 a la variable $b según si la variable $a vale 1 o no. Lo que pasa es que tal como podéis apreciar la sintaxis de la segunda asignación es mucho más compacta. De hecho, si es necesario este tipo de condicional se podría utilizar "sobre la marcha":
1  <?php
2  
3       
echo "Variable b = ".( ($a==1) ? 3);
4  
5  
?>

11 comments:

  1. ¿Es posible hacer esto en la definición de clases, o mediante algún artificio?

    ReplyDelete
  2. ¿Exactamente a qué te refieres? sé un poco más explícito de lo que necesitas hacer ;)

    ReplyDelete
  3. expresiones ternarias, son mucho más rapidas.

    Ya las tenía olvidadas.

    Gracias Usher.

    ReplyDelete
  4. Y si tanto deseas la independencia de Cataluña de España, por qué no escribes tu blog en catalán? aaah claro claro, porque reducirías en más de una décima parte tu posible audiencia. Espera espera, y por qué no en inglés, ya que tanto odiais a España? aaah claro claro, porque no sabes. Independencia sí, pero para lo que os conviene no? Pues por mí que os den la independencia, me la suda totalmente, pero después F.C. Barcelona - Mataro C.F. A ver si tienes cojones de publicar el comentario

    ReplyDelete
  5. Sabes anónimo? esa es la razón principal por la que no nos sentimos españoles: porque gente como tú no nos deja sentirnos como queremos sino como tú esperas y deseas...

    Relee tus propias frases y te darás cuenta del odio irracional que te despierta la expresión Cataluña Independiente o Estado Catalán. ¿Odio o sentimiento de inferioridad?

    Sea lo que sea... qué pena majete.

    Por cierto, yo sí tengo la educación suficiente para escribir en castellano para que más gente me entienda lo que tengo para compartir. Cuando hablo con gente de Cataluña hablo en catalán, y con el resto del mundo en inglés... porque otra cosa tristemente no sé.

    Me imagino que tú en tu tierra hablarás castellano, verdad? ¿o estás aprendiendo idiomas para cuando se vienen a vivir cerca personas que hablan otro idioma? Por cierto, no dudo que en tu ciudad haya muchos gallegos, catalanes o vascos... ¿ya hablas alguno de sus idiomas? Ah, noooooo... ya me imagino, es que tú eres de los que dice aquello de que "para que aprender un idioma que solo hablan 6 millones de personas", no? qué lástima que tal vez esos 6 millones son los que tengas más cerca... ¿qué más da lo que hablen en otros continentes si no sales nunca de tu barrio?

    Por cierto, te dedico una frase que leí hace poco y me encantó, y que creóq ue te identifica:

    "Desconfío de quien dice que las lenguas son para entenderse y no para crear problemas, pero usa este argumento para crear problemas con las lenguas."

    Creo que es tu caso...
    Un saludo,
    SERGI

    ReplyDelete
  6. Por cierto, ni siquiera tengo apenas audiencia porque -si te fijas, apenas he escrito 25 artículos en 4 años... ya ves lo que me importa la audiencia.

    En canvi, lo que sí m'importa és que si tinc algo molt interessant per a altres programadors com jo, ho trobin fàcilment als buscadors.

    Per cert, no has tingut coll... de signar amb cap dels teus perfils, oi? això sí que es valentia noi... una altra raó per marxar d'Espanya quan abans... mare meva, quin pati d'escola!

    SERGI

    ReplyDelete
  7. ai ai, com estan de picats els espanyolistes, jeejej perquè saben que si Catalunya els deixa, no trauran diners ni de l'atur. el més penós és que nomes saben fer referencia al futbol... que us penseu?? que el futbol ens importa gaire?? (esto va para los españoles, si no lo entendeis, és logico, la mayoria de los catalans somos bilingues mientras que la gran mayoria de vosotros tan solo sabeis espanyol, jejej incultura lingüística)

    Usher, jo t'anim-ho a que facis el bloc en català, i bon post :)

    ReplyDelete
  8. Tens raó Meteo, i l'espanyolista que va escriure fa uns messos també: hauria d'escriure sempre en català o com a molt en anglés si lo que vull és arribar a més lectors. Ja no té cap sentit escriure en castellà. L'única raó era potser que als catalans ens resulta cómode perqué com tú dius el parlem amb soltura. Però a aquests "castellanistes" se'ls hi ha acabat el bròquil. Potser en endavant escric en anglès.

    Primera llengua: català.
    Segona llengua: anglés.

    El castellà només per als ignorants espanyolistes que no saben anglés. En fi... boicot al castellà ja!

    ReplyDelete
  9. really, en verdad, Dass eine, aber sehr grosse sheize, это дерьмо and und y entshuldieguen sie mir....

    ReplyDelete