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 ?
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!!!