2017-02-12 60 views
1

我寫一點PHP代碼輸出一個隨機值小數對於負PHP值

$max_mal = (3 - $oray); 
$oray  = 1; 
$max  = 100; 
$total = 0; 
    for ($i = 0; $i < $max_mal; $i++){ 
     $goli = mt_rand(3, 8); 
     $total += $goli; 
     $golis[] = $goli; 
    } 

,併爲每個循環到這裏

foreach($golis as &$goli) { 
     $goli = floor(($goli/$total) * $max); 
      if ($goli == 0) { 
      $goli = 1; 
      } 
    } 
    $result = array_pad($golis, 3, -1); 
    shuffle($result); 
    $myresult = $result[0]; 

我希望得到十進制值高達5數字,但一旦出現負值,結果爲0.000-1而不是-0.00001

$myresultb = str_pad($mario, 5, '0', STR_PAD_LEFT); 
$myresultf = '0.'.$myresultb.'<br/>'; 
$total_score = 300; 
echo $myresultf; 

其次我是對PHP的學習使我在做這個PHP正確,或者需要改進

我有一個div來顯示總比分這樣

<div id="total_score"></div> 

和另一個div來展現其價值在於作爲echo $myresultf;

當前得分
<div id="current_score"></div> 

我想更新與jQuery的實時總分wheneven按鈕被點擊並<?php echo $myresultf ?>是實時也

刷新

回答

1

試試這個:

$max  = 100; 
$oray  = 1; 
$max_mal = (3 - $oray); 


$total = 0; 
    for ($i = 0; $i < $max_mal; $i++){ 
     $goli = mt_rand(3, 8); 
     $total += $goli; 
     $golis[] = $goli; 
    } 

    foreach($golis as &$goli) { 
     $goli = floor(($goli/$total) * $max); 
      if ($goli == 0) { 
      $goli = 1; 
      } 
    } 
    $result = array_pad($golis, 3, -1); 
    shuffle($result); 
    $myresult = $result[0];  
    $negative_var=false; 

    if($myresult < 0) 
    { 
     $negative_var=true; 

     $myresult = 0-$myresult; 
    } 

    $myresultb = str_pad($myresult, 5, '0', STR_PAD_LEFT); 
    $myresultf = '0.'.$myresultb.'<br/>'; 

    if($negative_var) 
     $myresultf="-".$myresultf; 

    $total_score = 300; 
    echo $myresultf; 
+0

感謝您幫助這個你可以PLZ告訴我裏面怎麼得到這個'$ myresultf'值'

'用jquery代替使用php的時尚'
'因爲我想更新這個值,每次按鈕被舔不刷新從這個'數組$ myresult = $結果[0];' – john

+0

使用阿賈克斯這 –

+0

任何小提琴這樣做,因爲不知道阿賈克斯工作太多 – john

1

簡單的使用如下:

$myresultb =str_replace('-','',$myresultb); 
 
if($myresult == -1) { 
 
    $myresultf = '-0.'.$myresultb.'<br/>'; 
 
} 
 
else { 
 
    $myresultf = '0.' . $myresultb . '<br/>'; 
 
}