SóProvas


ID
1190302
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Um desenvolvedor PHP empregou o operador “*” com uma string e um número inteiro como operandos, como visto no código a seguir.

                                    < ?php
                                         $a = 2 ;
                                         $b = "3" ;
                                         $total = $a * $b; 
                                         echo($total);
                                    ?>

O resultado obtido na operação foi

Alternativas
Comentários
  • Não sou o melhor do mundo em PHP, mas se não me engano toda variável é reconhecida como string, pelo interpretador, sendo assim o que vai diferenciar na verdade as variáveis. é o tratamento dado a essas variáveis, e neste caso, elas são vista pelo interpretador como uma operação matemática simples, de multiplicação retornando o valor 6, não importando a condição seja com aspas duplas ou simples em uma ou em ambas as variáveis.  

  • A linguagem PHP possui a "tipagem fraca e dinâmica":

    o tipo de uma variável varia de acordo com as operações (tipagem dinâmica) e não há restrições para operações entre tipos diferentes, nem necessidade de conversão explicita (tipagem fraca). O interpretador procura converter os valores das variáveis de acordo com os operadores.


    No caso da questão como foi usado um operador numérico (multiplicação) converte o valor variável $b de string para numérico.


    Caso fosse uma operação de string,  por exemplo concatenação (operador . ) converteria o valor da variável $a para string.