2016-04-10 6 views
-1

を相殺するが、エラーメッセージました:お知らせ:オフセット不定:PHP関数エラー:注意:未定義のは、私は、単純な機能を持っている

に私は問題をチェックし3行である:$ newValueに+ = $値[の$私];

以下の機能の回答は「6」ですが、まだエラーメッセージが表示されています。

<?php 
function countMe($value) { 

    $newValue = 0; 

    for ($i=0; $i<=count($value); $i++) 
    { 
     $newValue += $value[$i]; 
    } 
    return $newValue; 
} 

$value[0] = 1; 
$value[1] = 2; 
$value[2] = 3; 

echo countMe($value); 
?> 

は、私は解決策は、まさにこのような@countMe($値)として@演算子との誤差を抑制している知っているが、私はこの機能が悪いのかを知りたいです?どんな助けもありがとう。おかげ

+3

'<= count($ value)'はインデックス '3'になります。 '<'を使用します。 – Siguza

+0

($ i = 0; $ i

+0

[PHP: "通知:未定義の変数"と "通知:未定義のインデックス"](http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) –

答えて

2

インデックスは、あなたの関数がcount() - 1に数える必要があります... 0から2まで、次のとおりです。 )

1

あなたがループの中で、$値[3]にアクセスしようとしているが、利用可能なそのようなインデックスがありません= <を言及している場合には、カウント($値)の値が3

であることを確認してください。

<に変更するだけです。

もう1つの方法は、代わりにforeachを使用することです。これにより柔軟性が増します。

for ($i = 0; $i< count($value); $i++) 

OR

foreach ($value as $v) { 
    $newValue += $v; 
} 

この情報がお役に立てば幸いです。

for ($i=0; $i<=count($value)-1; $i++) 

または

for ($i=0; $i<count($value); $i++) 

ところで...ちょうど同じ結果を得るためにarray_sum($value)を使用します。

関連する問題