SóProvas


ID
2443960
Banca
Aeronáutica
Órgão
EEAR
Ano
2017
Provas
Disciplina
Programação
Assuntos

Levando em consideração o script abaixo, escrito em linguagem de programação PHP, qual será à saída do programa?
<?php
$vetor= array(1,2,3,4);
foreach($vetor as $chave=>$valor){
echo $chave;
if($valor==3){
break;
}
}
?>

Alternativas
Comentários
  • O gabarito é a letra A, mas discordo.

     

    O programa imprime os elementos do array e, ao encontrar 3, ele sai. Os elementos são 1,2,3 e 4. Como 0 não é um dos elementos, não há como ele ser impresso, o que invalidaria a letra A. De acordo com o programa, ele deve imprimir 1,2 e 3, que está na alternativa B. 

  • O código imprime os índices do array (posição do elemento, a ser iniciado com 0).

  • Concordo plenamente Lucas.

  • Resposta - A

     

    O construtor foreach fornece uma maneira fácil de iterar sobre arrays, passando por todos os elementos. Um array possui chave e valor. No Array da questão o mesmo tem a seguinte estrutura:

    Chaves (0,1,2,3) e Valores (1,2,3,4). O echo imprime a chave 0,1,2 e para no 2 pois a mesma tem o valor 3 (condição de parada do IF + BREAK).

     

     

    @papirobizurado

  • A

    012

  • O foreach é um laço de repetição simplificado para interação de arrays. Ele pode possuir chave e valor.

    Os elementos da variável $vetor são atribuídos a variável $chave por meio do as, o programa irá mostrar os valores do array $vetor e mostrará todas as chaves, a $chave por sua vez está atribuindo(=>) o seu valor a variável $valor até que esta seja == 3, onde ocorre o break, pois segundo o programa o break deve ocorrer assim que o laço de repetição chegar ao elemento de posição 3. Por isso imprime-se a saída 0, 1 e 2.