Foros del Web » Programando para Internet » PHP »

Duda básica en la compración if

Estas en el tema de Duda básica en la compración if en el foro de PHP en Foros del Web. Hola! Tengo un problema muy grande. Tengo instalado joomla 1.0.15 y en ese mismo sitio estoy haciendo un archivo php. Si va joomla va ese ...
  #1 (permalink)  
Antiguo 11/03/2008, 13:24
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
Pregunta Duda básica en la compración if

Hola!

Tengo un problema muy grande. Tengo instalado joomla 1.0.15 y en ese mismo sitio estoy haciendo un archivo php. Si va joomla va ese archivo por separado, no?

Bueno, pues no sé por qué cuando pongo esto:

Código PHP:
<html>
<head>
   <title>Probando</title>
</head>
<body>

<?php
$a 
a;
if (
$a b) { echo b; } ?>

</body>
</html>
Lo más básico del Mundo, me da b

Siempre que comparo una variable con algo, pone ese valor, por ejemplo:

if ($variable = otro) { tal } Pues da a la $variable el valor "otro". Aunque llevo muy poco aprendiendo php, he usado comparaciones antes, y nunca me había pasado esto.

Qué es lo que pasa?

Saludos!
  #2 (permalink)  
Antiguo 11/03/2008, 13:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Duda básica en la compración if

Tu problema es que estas comparando contra nada, si tu no explícitamente usas $ en el nombre de la variable PHP asume que es una constante, y si no esta definida, toma el valor de NULL.

Por otro lado dentro de tu if, si quieres comparar debes de usar ==, si tu usas = es asignar el valor.

Saludos.
  #3 (permalink)  
Antiguo 11/03/2008, 14:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 55
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo Re: Duda básica en la compración if

como dice gatorv primero asignale un valor a b... sino estas haciendo esto

$a = a //a la variable $a le asignas a

if ($a=b) //aca le estas asignando b a la varible $a, en php se compara con ==

echo b; //aca estas mostrando b que no tiene valor...

en todo caso proba algo asi...

<?php

$a = a;
$b = b;

if ($a==$b) {
echo "$b";
}

?>

suerte ;)
  #4 (permalink)  
Antiguo 12/03/2008, 08:26
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
De acuerdo Re: Duda básica en la compración if

Hola, gracias por responder!

No sabía que tenía que poner doble igual.

Cuando pongo if ($a = b) quiero compararlo con la letra b, no la variable $b, y cuando digo echo b. Quiero ver la letra b, no la variable b. Quizá me expliqué mal.

Puse eso para que vieran que algo estaba mal, lo pongo con otro ejemplo:

Código PHP:
<?php
$a 
hola;
if (
$a tralala) {   //que no lo es, $a es hola
echo tralala; } //pero no la variable $tralala
//pues da tralala
?>
Gracias por todo, lo probaré con doble igual.

Saludos!!!
  #5 (permalink)  
Antiguo 12/03/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Duda básica en la compración if

En ese caso recuerda que las cadenas de texto deben de ir entre comillas:
Código PHP:
<?php
$a 
"hola";
// si lo haces asi, si sirve:
if( $a == "tralala" ) { // recuerda que para COMPARAR es dos iguales, para asignar es =
      
echo "tralala";
}
?>
Saludos.
  #6 (permalink)  
Antiguo 14/03/2008, 13:39
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
Re: Duda básica en la compración if

Ya va perfecto! Muchas gracias ^_^
  #7 (permalink)  
Antiguo 14/03/2008, 13:48
Avatar de hackteam  
Fecha de Ingreso: diciembre-2007
Mensajes: 67
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Duda básica en la compración if

creo que ya respondieron a tu pregunta, pero casi todos caemos en ella "La primera vez" es normal y comun asi como confundir en php el "" con el ' ', el operador = en todos los lenguajes de programacion sirven para ASIGNAR UN VALOR es decir ponerle "contenido" "darle un valor" etc etc, y generalmente a su vez el operador == son de comparacion que signifca "igual a", cualquier duda consultala! te ayudaremos en lo que podamos :) saludos
  #8 (permalink)  
Antiguo 14/03/2008, 18:19
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
Re: Duda básica en la compración if

Pues ya que mencionas lo de "" y ''

Qué diferencia hay?

Yo acabo de empezar y no sé hacer casi nada, miro códigos ya escritos y observo como lo hacen, pero la diferencia entre " y ' no la sé, creo que me funcionan con los dos, jejeje

Código PHP:
echo "tralala".$variable
echo '<p align="center">aaaaa</p>'
echo "<p align='center'>aaaa</p>" 
^^
  #9 (permalink)  
Antiguo 15/03/2008, 01:26
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 4 meses
Puntos: 7
Re: Duda básica en la compración if

De hecho la diferencia que existe entre ambos tipos de comillas es que las comillas simples ' y ' son especialmente de caracter literal, y son mas recomendables a la hora de mostrar solo literales debido a que el parseado de las mismas es más rápido que la de las dobles.
Mientras las dobles son mejor utilizadas para mostrar variables, o saltos de linea "\n", la desventaja es que son mas lentas que las simples.
Algunos ejemplos:
Código PHP:
//Comillas dobles
echo "Bienvenido $nombre";
echo 
"Bienvenido $user[nombre]";
//Comillas simples
echo 'Bienvenido'.$nombre;
echo 
'Bienvenido'.$user["nombre"];

//Comillas Dobles
echo "Hola \"Carlitos\""// Muestra: Hola "Carlitos"
//Comillas Simples
echo 'Hola "Carlitos"'// Muestra: Hola "Carlitos" 
En conclusión trata de utilizar las simples antes que las dobles para obtener un mejor desempeño en tu aplicación.

Otros ejemplos tomando en cuenta los que planteaste:
Código PHP:
//Tus ejemplos:
//A
echo "tralala".$variable ;
//B
echo '<p align="center">aaaaa</p>' ;
echo 
"<p align='center'>aaaa</p>" ;

//Alternativos:
//A
echo 'tralala'.$variable;
echo 
"tralala $variable"
//B
echo "<p align=\"center\">aaaaa</p>"
echo 
'<p align=\'center\'>aaaa</p>' 
La " \ "(barra invertida) funciona como escape para los caracteres claves, en caso de que quieras utilizar una barra invertida sin que escape a otros caracteres " \\ "(doble barra).

Espero que te sirva de ayuda.
Saludos!
__________________
I'm gonna start a revolution from my bed...

Última edición por pablinff; 15/03/2008 a las 01:36
  #10 (permalink)  
Antiguo 15/03/2008, 03:34
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: Duda básica en la compración if

yo creía que las simples se usaban si tenias que usar comillas dobles dentro de una sentencia:

Código PHP:
echo "<form action='pagina.php'>"
pensaba que era para sustituir las comillas " en una sentencia que usara.
__________________
No diseñes usando tablas.
  #11 (permalink)  
Antiguo 15/03/2008, 04:38
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
De acuerdo Re: Duda básica en la compración if

Muchas gracias pablinff,

Ahora me ha quedado más claro, cuando venía a mirar el post iba a preguntar lo de la barra \, pero ya lo has contestado :P

No sabía para qué era, pero iba después del = y antes de la última comilla ^^ (una forma rara). Usaré el sistema simple


Gracias!!
  #12 (permalink)  
Antiguo 15/03/2008, 13:23
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 4 meses
Puntos: 7
Re: Duda básica en la compración if

Me alegra entonces que te halla servido de ayuda :)

Saludos!
__________________
I'm gonna start a revolution from my bed...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:37.