2017-01-13 12 views
0

私は単純な配列$ rating = [0,0,0,0,0];を持っています。値を1つ増やす必要があります。値$ val = 2があります。値が2に一致する場合、この$の評価の後PHPで配列の値を1ずつインクリメント

$rating=[0,0,0,0,0]; 
$val = 2; 
if($val ==2){ 
    $rating[1]++; 
} 

を私は1で$評価[1]の値をインクリメントしたい(だけの例が、インクリメントが起きていない)[1]インクリメントすると仮定してなることを持っています1(つまり、$ ratingは[0,1,0,0,0]でなければなりません)。動いていない!!

+0

多分$の評価[1]の文字列ではなく番号がありますか?何が$ rating [1] ++を返すのですか? –

+3

"それは機能していません"とはどういう意味ですか? – Phylogenesis

+4

[正常に動作する](https://3v4l.org/4gElt) –

答えて

0

私は私が何をやっていた間違いを知るようになりました!それはループの中にあり、何度も何度も開始されています。これは、出力を与える

$rating=[0,0,0,0,0]; 
$val = 2; 
if($val ==2){ 
    $rating[1]++; 
} 
echo $rating; 

最良の方法は、[0,1,0,0,0]

2

これは機能しています。

<?php 
$rating = array('0','0','0','0','0'); 
$val = 2; 
if($val ==2){ 
    $rating[1]++; 
} 
print_r($rating); 
?> 

出力以下のように:

Array ([0] => 0 [1] => 1 [2] => 0 [3] => 0 [4] => 0) 
+0

これらの値の文字列を不必要にする必要はありません。 OPのコードは実際に正常に動作します。あなたのコードは、あなたが書いたコードが文字列にしか使えないという誤解を招くようなものです。おそらくあなたが書いた 'print_r 'が彼のために助けになったのかもしれません。これらの値を文字列と 'print_r'文に変換することを除いて、あなたのコードは同じです。 – Perumal

+0

はい権利は!私の友人 –

関連する問題