Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Digitei a function para somar array conforme abaixo e recebi o erro abaixo

```

<?php

// somas os valores de um vetor e retorna a soma

$vetor = array(1,2,3,4,5,6,7); $soma = 0;

function funSomaVetor($v) { for ($i=0; $i < sizeof($array); $i++) { $soma = $soma + $v[$i]; } return $soma; }

$resultado = funSomaVetor($vetor); echo $resultado

?>

Call Stack

Time Memory Function Location

1 0.0009 134032 {main}( ) ..\SomaVetor.php:0 2 0.1245 134888 funSomaVetor( ) ..\SomaVetor.php:15

! ) Notice: Undefined variable: soma in C:\wamp\www\loja\SomaVetor.php on line 12 Call Stack

Time Memory Function Location

1 0.0009 134032 {main}( ) ..\SomaVetor.php:0 2 0.1245 134888 funSomaVetor( ) ..\SomaVetor.php:15

Esperando resposta, por favor, lembro que tenho uma dúvida sem resposta.

Atenciosamente,

Antônio.

4 respostas

Provavelmente o erro é por conta que você recebe um argumento chamado $v, mas usa o sizeof($array). Altere para:

function funSomaVetor($v)     { 
    for ($i=0; $i < sizeof($v); $i++) { 
        $soma = $soma + $v[$i]; 
    } 
    return $soma; 
 }

$resultado = funSomaVetor($vetor); 
echo $resultado

?>
<?php

// somas os valores de um vetor e retorna a soma

$vetor = array(1,2,3,4,5,6,7); $soma = 0;

function funSomaVetor($v) { for ($i=0; $i < sizeof($v); $i++) { $soma = $soma + $v[$i]; } return $soma; }

$resultado = funSomaVetor($vetor); echo $resultado

?>

Dentro da sua função vc deve referenciar a variável v e não array, essa nem existe.. a variável soma tb deveria ser criada dentro da função.

Faltou declarar a soma fora do FOR, aproveitando o exemplo do Jhonny, ficaria assim:

function funSomaVetor($v)     { 
    $soma = 0;
    for ($i=0; $i < sizeof($v); $i++) { 
        $soma = $soma + $v[$i]; 
    } 
    return $soma; 
 }

$resultado = funSomaVetor($vetor); 
echo $resultado

?>
solução!

``` Agradeço a colaboração de todos, para nossa melhor compreensão tenho a informar que o código executou assim:

<?php

// somas os valores de um vetor e retorna a soma

$vetor = array(1,2,3,4,5,6,7); $resultado = 0;

function funSomaVetor($v) { $soma = 0; for ($i=0; $i < sizeof($v); $i++) { $soma = $soma + $v[$i]; } return $soma; }

$resultado = funSomaVetor($vetor); echo $resultado

?> ` Conclusão: o parâmetro $v não foi definido uma vez que esta associado a variável $vetor quando a function é chamada.. A variável $soma foi feito local, isto ´é, dentro da function. Não testei se funcionaria fora da function, como global foi o que imaginei.

Mais uma vez obrigado a todos, a atenção de vocês eleva o nome do Curso, principalmente para que esta começando uma nova linguagem.