2010-05-25 13 views
8

¿Qué significa el símbolo : en PHP?¿Qué es ":" en PHP?

+9

Podría usted por favor enviar el código que aparece en? Podría tener diferentes significados, dependiendo del contexto. – FrustratedWithFormsDesigner

+9

Al hacer una pregunta, por favor 'ser específico'. A menudo, esto significa dar un ejemplo de código. – Armstrongest

+0

Operador de resolución de alcance (:) http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php –

Respuesta

31

PHP ofrece una sintaxis alternativa para algunas de sus estructuras de control; a saber, si, while, for, foreach y switch. En cada caso, la forma básica de la sintaxis alternativa es cambiar la llave de apertura a dos puntos (:) y la llave de cierre a endif ;, endwhile ;, endfor ;, endforeach ;, o endswitch ;, respectivamente.

+0

genial, gracias .. –

7

supongo que se está viendo esta sintaxis:

print ($item ? $item : ''); 

Esta es una forma corta de if/else. Los ? es el si, y el: es el else.

1

Como han publicado otros, probablemente esté buscando lógica ternaria.

Sin embargo, si dos de ellos están juntos, entonces es el scope resolution operator, que se utiliza para hacer referencia a métodos de estado/propiedades y constantes.

20

También encuentra : si se utiliza el alternative syntax for control structures:

<?php 
if ($a == 5): 
    echo "a equals 5"; 
    echo "..."; 
elseif ($a == 6): 
    echo "a equals 6"; 
    echo "!!!"; 
else: 
    echo "a is neither 5 nor 6"; 
endif; 
?> 

O como ya se ha mencionado las ternary operator:

$action = (empty($_POST['action'])) ? 'default' : $_POST['action']; 

(ejemplos tomados de la documentación)


Edit: De alguna manera no vi que la sintaxis alternativa ya se mencionó, debe estar muy cansada;) De todos modos, la dejaré tal como está, ya que creo que un ejemplo real y un enlace a la documentación son más útiles que solo texto simple

+0

El tercer lugar sería el 'foreach ($ entry: $ list)' ¿Qué no? – Felix

+0

¿Podría ayudarme? Tengo dudas sobre el uso de ':' en el siguiente contexto (Laravel). ['email' => 'requerido | correo electrónico | único: correo electrónico, usuarios'] – Michel

+0

@Michel: No sé sobre Laravel, lo siento. Desde la perspectiva de PHP, ':' es parte de una cadena, por lo que no tiene ningún significado especial. –

2

Shorter sentencia if:

$val = (condition) ? "condition is true" : "condition is false";