Sobre fazer as comparações via function (if....else....) seria mais performatico usar a function com um if else ou fazer por case when no select normal mesmo ? Ele usaria menos memoria, cpu ou o comportamento seria parecido ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Sobre fazer as comparações via function (if....else....) seria mais performatico usar a function com um if else ou fazer por case when no select normal mesmo ? Ele usaria menos memoria, cpu ou o comportamento seria parecido ?
Bom dia Flávio,
Em suma, a estrutura de controlo switch(case/when) é um if para operar sobre a mesma variável ou expressão de entrada. Não existe propriamente uma comparação entre os dois para apurar a sua performance dado o objetivo de cada um ser distinto. O que existe é o uso correto da estrutura de controlo mais adequada para o nosso objetivo.
switch Devemos utilizar quando queremos comparar a mesma variável ou expressão com várias opções: A instrução switch é similar a uma série de instruções IF sobre a mesma expressão. Em muitas ocasiões, você pode querer comparar a mesma variável (ou expressão) com muitos valores diferentes, executando uma peça diferente do código dependendo de qual valor ele se encaixar. Este é exatamente o que a instrução switch faz.
switch($a) {
case 1: {
echo 'Variável A é igual a 1';
break;
}
case 2: {
echo 'Variável A é igual a 2';
break;
}
default: {
echo 'A Variável A não é igual a 1 nem igual a 2';
}
}if Devemos utilizar quando queremos realizar uma série de verificações distintas. A construção if é uma das características mais importantes de muitas línguas, PHP inclusive. Ela permite a execução condicional de fragmentos de código.
if ($a > $b)
{
echo "A é maior que B";
}
else if ($a < $b)
{
echo "A é menor que B";
}
else if ($a == $b)
{
echo "A é igual a B";
}
else
{
echo "A é alguma coisa não comparável com B";
}Espero ter ajudado.
Abraço!!!