Ajuda para melhorar código

  • Autor Autor zking
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
zking

zking

Dseda
Programador
Verificación en dos pasos activada
Hola amigos, bueno este es el dilema en mi script se repite mucho un row , hay algo para optimizarlo?
Les dejare la manera que uso y una opcional pero no se si este bien.

PHP:
while ($row = $result->fetch_array()) {

if(1 == $row['Estado']){
echo "Exto";
}elseif (2 == $row['Estado']){
echo "Exito 2";
}else{
echo "XXXX";
}

PHP:
while ($row = $result->fetch_array()) {

$var = $row['Estado'];

if(1 == $var){
echo "Exto";
}elseif (2 == $var){
echo "Exito 2";
}else{
echo "XXXX";
}

}
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
es lo mismo... no te afecta... solo lees la variable... solo que de la forma 2 estas creando una variable mas...
 
es lo mismo... no te afecta... solo lees la variable... solo que de la forma 2 estas creando una variable mas...

Gracias, Grande [MENTION=9679]cicklow[/MENTION]
 
En vez de usar un IF podrías utilizar un switch


PHP:
while ($row = $result->fetch_array()) {
	switch ($row['Estado']) {
		case 1:
			echo "Exto";
			break;
		case 2:
			echo "Exito 2";
			break;
		default:
			echo "XXXX";
	}
}

Mejor estructura, más rápido y mejor de leer para un programador :encouragement:

Te dejo la documentación por si acaso PHP: switch - Manual
 
En vez de usar un IF podrías utilizar un switch


PHP:
while ($row = $result->fetch_array()) {
	switch ($row['Estado']) {
		case 1:
			echo "Exto";
			break;
		case 2:
			echo "Exito 2";
			break;
		default:
			echo "XXXX";
	}
}

Mejor estructura, más rápido y mejor de leer para un programador :encouragement:

Te dejo la documentación por si acaso PHP: switch - Manual

Gracias, lo leeré :encouragement:
 
Supongo que los resultados vienen de SQL así que es mas rápido hacer esto
PHP:
while ($row = $result->fetch_array())
	{ 
	if("1" === $row['Estado'])
		{ 
		echo "Exto"; 
		}
	elseif ("2" === $row['Estado'])
		{	
		echo "Exito 2"; 
		}
	else
		{ 
		echo "XXXX"; 
		}  
	}
 
He estado leyendo algo sobre esto y no encuentro nada específico sobre PHP.

Según este hilo de Stackoverflow (allí hablan de Java, no de PHP): Java speed access array index versus temp variable - Stack Overflow , la segunda opción, en la que se usa la variable temporal, es más rápida, aunque puede depender de la máquina virtual.

En este otro hilo c - More efficient to use temporary variable or direct from array? - Stack Overflow hablan de lo mismo pero sobre C++. Al parecer el segundo ejemplo sería el más rápido, pero escribas lo que escribas el compilador generará el código ensamblador óptimo.

Por último, en este otro hilo sobre C# ( .net - In C#, Is it slower to reference an array variable? - Stack Overflow ) llegan a una conclusión similar: la segunda opción es más rápida, además de más legible, aunque el compilador podría optimizar el código.

En conclusión, yo elegiría la segunda opción: es más legible, elegante y al parecer es más rápida.

Un saludo.
 
Última edição:
Supongo que los resultados vienen de SQL así que es mas rápido hacer esto
PHP:
while ($row = $result->fetch_array())
	{ 
	if("1" === $row['Estado'])
		{ 
		echo "Exto"; 
		}
	elseif ("2" === $row['Estado'])
		{	
		echo "Exito 2"; 
		}
	else
		{ 
		echo "XXXX"; 
		}  
	}

Gracias por responder 😛
 
Voltar
Topo