2014-04-08 46 views
1

我的這些值在array = Array ([0] => 3 [1] => 2 [2] => 10 [3] => 5)PHP:從陣列獲取的每個值,並計算

我如何從array分別獲得每個值,並執行下面的計算?

$j=$q*100/$ytot; 

而且這是我到目前爲止已經試過,其心不是給正確的值:

$resul=mysql_query("select * from post_bet where bet_id = '$id'")or die(mysql_error()); 
if(mysql_num_rows($resul)>0) 
{ 
    while($row=mysql_fetch_assoc($resul)) 
    { 
     $y_uid=$row['yes_userid'];   
     $y_uamt=$row['yes_useramount']; 
     $n_uid=$row['no_userid']; 
     $n_uamt=$row['no_useramount']; 
     $ytot=$row['yes_total']; 
     $ntot=$row['no_total']; 
     $hhh=explode(',',$row['yes_useramount']); 
     $q = print_r($hhh); 
     echo $j=$q*100/$ytot; 
    } 
} 
+2

你想在這裏做什麼?你想要爲每個數組值執行操作還是要將操作附加到單個變量$ j – Jenz

+0

Yessir!我確實想要計算每個值。請忽略我的錯誤。 – MetaldroiD

+2

您需要指定您的計算含義。什麼是'$ j','$ q'和'$ ytot'? –

回答

1

嘗試這個 -

$resul=mysql_query("select * from post_bet where bet_id = '$id'")or die(mysql_error()); 
if(mysql_num_rows($resul)>0) 
{ 
    while($row=mysql_fetch_assoc($resul)) 
    { 
     $y_uid=$row['yes_userid'];   
     $y_uamt=$row['yes_useramount']; 
     $n_uid=$row['no_userid']; 
     $n_uamt=$row['no_useramount']; 
     $ytot=$row['yes_total']; 
     $ntot=$row['no_total']; 
     $hhh=explode(',',$row['yes_useramount']); 

    } 


foreach($hhh as $val) 
{ 
     echo $j=$val*100/$ytot; 
} 
} 
+0

工程就像一個魅力。這是我想要的。謝謝! \ m/ – MetaldroiD

+0

很高興它幫助你! – sunny

0

嘗試在你的腳本的代碼。如果有錯誤請在這裏告訴我。

$resul=mysql_query("select * from post_bet where bet_id = '$id'")or die(mysql_error()); 
if(mysql_num_rows($resul)>0) 
{ 
while($row=mysql_fetch_assoc($resul)) 
{ 
$y_uid=$row['yes_userid'];   
$y_uamt[]=$row['yes_useramount']; 
$n_uid=$row['no_userid']; 
$n_uamt=$row['no_useramount']; 
$ytot=$row['yes_total']; 
$ntot=$row['no_total']; 
} 

for($i = 0; $i<count($y_uamt);$i++){ 

$sum_uamt = $sum_uamt + int($y_uamt[$i]); 
} 

echo $j = $sum_uamt * 100/$ytot; 
+0

echo沒有返回任何值。 – MetaldroiD

+0

你可以在循環中嘗試echo $ y_aumt。 – user3454436

1

一個簡單foreach應該做的伎倆:

foreach (explode(',', $row['yes_useramount']) as $q) { 
    echo $q * 100/$ytot; 
} 
1

您可以使用處理像foreach在PHP中的數組如下所示:

foreach (($hhh) as $v => $k) 
{ 
echo $k*100/$ytot; 
} 

這裏,

$hhh=explode(',',$row['yes_useramount']); 

所以$hhh將從$row['yes_useramount']其用,內爆返回值的陣列。

+0

很酷。但是,如何在','之後獲得'數組'的每個值? 「implode」在這裏似乎不起作用。 – MetaldroiD

+0

Sweeet。謝謝! – MetaldroiD

+0

你總是歡迎:) – Jenz