我已經給出了一個問題:PHP數組創建
/**
* return structure should be an array of hashmaps which looks something like
*
* array(3) {
* [0] =>
* array(2) {
* 'min' => int(500)
* 'max' => int(750)
* }
* [1] =>
* array(2) {
* 'min' => int(750)
* 'max' => int(1000)
* }
* [2] =>
* array(2) {
* 'min' => int(1000)
* 'max' => int(1250)
* }
* }
*
* @param int $min
* @param int $max
* @param int $incrementStep
* @return array
*/
function getPriceRangeCollection($min, $max, $incrementStep) {
//code goes here
}
//test code - DO NOT REMOVE
$priceRangeCollection = getPriceRangeCollection(500, 5000, 250);
assert($priceRangeCollection[17]['min'] === 4750 && $priceRangeCollection[17]['max'] === 5000);
assert($priceRangeCollection[9]['min'] === 2750 &&
$priceRangeCollection[9]['max'] === 3000);
$priceRangeCollection2 = getPriceRangeCollection(1, 100, 3);
assert(count($priceRangeCollection2) === 33);
assert($priceRangeCollection2[32]['min'] === 96);
assert($priceRangeCollection2[32]['max'] === 99);
對於該練習中,將需要創建函數getPriceRangeCollection這是創建值對的數組(按照上面的例子)由增量值從最小範圍開始到最大範圍。
到目前爲止,我對第一組測試數據有效,但第二組失敗。用assert($ priceRangeCollection2 [32] ['min'] === 96);爲1低於我的代碼生成,這是97
function getPriceRangeCollection($min, $max, $incrementStep) {
//code goes here
$myArray = array();
$index = 0;
for($i = $min; $i < $max; $i = $i + $incrementStep){
$myArray[ $index ] = array('min' => $i, 'max' => $i + $incrementStep);
$index ++;
}
return $myArray;
}
我錯過了一些東西,或者是所提供的測試數據錯了嗎? priceRangeCollection2的
的var_dump:
array(33) { [0]=> array(2) { ["min"]=> int(1) ["max"]=> int(4) } [1]=> array(2) { ["min"]=> int(4) ["max"]=> int(7) } [2]=> array(2) { ["min"]=> int(7) ["max"]=> int(10) } [3]=> array(2) { ["min"]=> int(10) ["max"]=> int(13) } [4]=> array(2) { ["min"]=> int(13) ["max"]=> int(16) } [5]=> array(2) { ["min"]=> int(16) ["max"]=> int(19) } [6]=> array(2) { ["min"]=> int(19) ["max"]=> int(22) } [7]=> array(2) { ["min"]=> int(22) ["max"]=> int(25) } [8]=> array(2) { ["min"]=> int(25) ["max"]=> int(28) } [9]=> array(2) { ["min"]=> int(28) ["max"]=> int(31) } [10]=> array(2) { ["min"]=> int(31) ["max"]=> int(34) } [11]=> array(2) { ["min"]=> int(34) ["max"]=> int(37) } [12]=> array(2) { ["min"]=> int(37) ["max"]=> int(40) } [13]=> array(2) { ["min"]=> int(40) ["max"]=> int(43) } [14]=> array(2) { ["min"]=> int(43) ["max"]=> int(46) } [15]=> array(2) { ["min"]=> int(46) ["max"]=> int(49) } [16]=> array(2) { ["min"]=> int(49) ["max"]=> int(52) } [17]=> array(2) { ["min"]=> int(52) ["max"]=> int(55) } [18]=> array(2) { ["min"]=> int(55) ["max"]=> int(58) } [19]=> array(2) { ["min"]=> int(58) ["max"]=> int(61) } [20]=> array(2) { ["min"]=> int(61) ["max"]=> int(64) } [21]=> array(2) { ["min"]=> int(64) ["max"]=> int(67) } [22]=> array(2) { ["min"]=> int(67) ["max"]=> int(70) } [23]=> array(2) { ["min"]=> int(70) ["max"]=> int(73) } [24]=> array(2) { ["min"]=> int(73) ["max"]=> int(76) } [25]=> array(2) { ["min"]=> int(76) ["max"]=> int(79) } [26]=> array(2) { ["min"]=> int(79) ["max"]=> int(82) } [27]=> array(2) { ["min"]=> int(82) ["max"]=> int(85) } [28]=> array(2) { ["min"]=> int(85) ["max"]=> int(88) } [29]=> array(2) { ["min"]=> int(88) ["max"]=> int(91) } [30]=> array(2) { ["min"]=> int(91) ["max"]=> int(94) } [31]=> array(2) { ["min"]=> int(94) ["max"]=> int(97) } [32]=> array(2) { ["min"]=> int(97) ["max"]=> int(100) } }
警告:斷言():斷言($ priceRangeCollection2 [32] [ '分鐘'] === 96)未能在C:\ XAMPP \ htdocs中\ InSite的\ php_exercise .php on line 50
Warning:assert():assert($ priceRangeCollection2 [32] ['max'] === 99)在第51行C:\ xampp \ htdocs \ InSite \ php_exercise.php中失敗
_「這是創建一個數組值對(如上面的例子)」_ - 上面的例子? – CBroe
已編輯的問題爲您提供這個! – user3633383
請提供'priceRangeCollection2'的轉儲。測試數據沒有錯。 – msfoster