Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php构造关联数组键值增量循环_Php - Fatal编程技术网

php构造关联数组键值增量循环

php构造关联数组键值增量循环,php,Php,下面是我正在努力实现的目标 Array ( [0.94] => 35 [0.93] => 36 [0.92] => 37 [0.91] => 38 . . . [0.50] => 79 ) 而不是建筑 $arrayName1 = array('0.94' => '35', '0.93' => '36', '0.

下面是我正在努力实现的目标

Array
(
    [0.94] => 35
    [0.93] => 36
    [0.92] => 37
    [0.91] => 38
    .
    .
    .
    [0.50] => 79
)
而不是建筑

$arrayName1 = array('0.94' => '35',
                    '0.93' => '36',
                    '0.92' => '37',
                    '0.91' => '38',
                    '0.50' => '79'
                  );
我想知道是否有一种方法可以添加循环来简化流程。任何人?

具有
range()
array\u combine()
功能:

$result = array_combine(range(0.94, 0.5, -0.01), range(35, 79));
$result
包含:

Array
(
    [0.94] => 35
    [0.93] => 36
    [0.92] => 37
    [0.91] => 38
    [0.9] => 39
    [0.89] => 40
    [0.88] => 41
    [0.87] => 42
    [0.86] => 43
    [0.85] => 44
    [0.84] => 45
    [0.83] => 46
    [0.82] => 47
    [0.81] => 48
    [0.8] => 49
    [0.79] => 50
    [0.78] => 51
    [0.77] => 52
    [0.76] => 53
    [0.75] => 54
    [0.74] => 55
    [0.73] => 56
    [0.72] => 57
    [0.71] => 58
    [0.7] => 59
    [0.69] => 60
    [0.68] => 61
    [0.67] => 62
    [0.66] => 63
    [0.65] => 64
    [0.64] => 65
    [0.63] => 66
    [0.62] => 67
    [0.61] => 68
    [0.6] => 69
    [0.59] => 70
    [0.58] => 71
    [0.57] => 72
    [0.56] => 73
    [0.55] => 74
    [0.54] => 75
    [0.53] => 76
    [0.52] => 77
    [0.51] => 78
    [0.5] => 79
)
你可以简单地循环

$data = array();
$i = 0.94;
$j = 35;
while($i > 0.50){
    $data[(string)$i] = $j;
    $i -= 0.01;
    $j++;
}

var_dump($data);

“我想知道是否有办法添加循环”是的,确实有。您尝试过什么?数组键必须是整数或字符串(不是浮点)。。。。如果要使用(模拟的)浮点键,则使用生成器op的数字处于禁用状态。这些数字给出了不同长度的数组和一个错误。键数组长一个元素。可能在
.5
结束,或者在
80
结束@abracadver,我不明白你说的数字是什么意思off@AbraCadaver,这真是令人讨厌的PHP行为是的,似乎PHP7只转到了
.5
,即使您使用了
0.49
@AbraCadaver,它似乎一直工作到PHP
7.0.2
,对于所有进一步/更新的版本-抛出警告