簡體   English   中英

創建僅知道最大值和最小值的數組

[英]Create an array only knowing max and min values

在PHP中編碼,我目前有一個100個值的數組,看起來像這樣:

$cmassarray = array(630.00,629.70,629.40,629.10,628.80,628.50,628.20,627.90,627.60,627.30,627.00,
                626.70,626.40,626.10,625.80,625.50,625.20,624.90,624.60,624.30,624.00,623.70,
                623.40,623.10,622.80,622.50,622.20,621.90,621.60,621.30,621.00,620.70,620.40,
                620.10,619.80,619.50,619.20,618.90,618.60,618.30,618.00,617.70,617.40,617.10,
                616.80,616.50,616.20,615.90,615.60,615.30,615.00,614.70,614.40,614.10,613.80,
                613.50,613.20,612.90,612.60,612.30,612.00,611.70,611.40,611.10,610.80,610.50,
                610.20,609.90,609.60,609.30,609.00,608.70,608.40,608.10,607.80,607.50,607.20,
                606.90,606.60,606.30,606.00,605.70,605.40,605.10,604.80,604.50,604.20,603.90,
                603.60,603.30,603.00,602.70,602.40,602.10,601.80,601.50,601.20,600.90,600.60,
                600.30,600.00);

所有步驟的長度都是相同的,我可能會在以后的階段中更改它們(和/或最大/最小值),因此我想找到一種方法來避免必須手動重新計算並鍵入他們每次。

如果我知道最大值是630.00,最小值是600.00,並且我有100步,是否可以創建一個數組,指定每個值都是該方程式的增量?

x (array value) = 600+((Max-Min)/100)*y) 

其中y是刻度的增量步長。

感謝您的任何幫助!

使用循環和所有這將是另一種range

$start=630;
$stop=600;
$steps=100;
$cmassarray=range( $start, $stop, ( ( $start-$stop ) / $steps ) );

您可能想看看range函數,該函數需要一個可選的第三個參數作為步驟。 您可以輕松地從最大,最小和步數中得出該參數。 這是一個例子:

$max = 630;
$min = 600;
$steps = 100;
$step = ($max - $min) / $steps;
$your_result = range( $max, $min, $step );

從以下代碼開始:

$max = 630;
$min = 600;
$steps = 100;
$step = ($max - $min) / $steps;
$ar = [];
for ($i = $max; $i >= $min; $i -= $step) {
    $ar[] = $i;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM