Php For循环分配了错误的数组索引

Php For循环分配了错误的数组索引,php,arrays,Php,Arrays,我正在尝试创建具有以下结构的数组: [10] => Array ( [10] => test key ... [100] => test key ) [20] => Array ( [10] => test key ... [100] => test key ) [30] => Array ( [10

我正在尝试创建具有以下结构的数组:

[10] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )

[20] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )

[30] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )
...
$array = array();
for ($x = 0.1; $x <= 1; $x+=0.1) {
    $index = $x*100;
    for ($z = 10; $z <= 100; $z+=10) {
        $array[(int)$index][$z] = 'test key';
    }
}
这是我用来创建这种结构的循环:

[10] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )

[20] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )

[30] => Array
    (
        [10] => test key
        ...
        [100] => test key
    )
...
$array = array();
for ($x = 0.1; $x <= 1; $x+=0.1) {
    $index = $x*100;
    for ($z = 10; $z <= 100; $z+=10) {
        $array[(int)$index][$z] = 'test key';
    }
}

为什么它计算的指数是89和99?不应该分别是90和100吗

*编辑
我使用浮点数,这是我们用来计算的百分比。我知道我也可以以10为增量,但这需要我最终再次除以100才能得到浮点值。我不知道为什么要将浮点值与
$x一起使用。。。只需从
10
开始,然后逐步执行
10
,直到点击
100

$array = array();
for ($x = 10; $x <= 100; $x+=10) {
    $f = ((float)$x) / 100.0; # calculate float value here
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}
$array=array();

对于($x=10;$x不确定为什么要将浮动与
$x
一起使用……只需从
10
开始,然后逐步执行
10
,直到您点击
100

$array = array();
for ($x = 10; $x <= 100; $x+=10) {
    $f = ((float)$x) / 100.0; # calculate float value here
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}
$array=array();

对于($x=10;$x为什么它计算的指数是89和99?它不应该分别是90和100吗

我认为这是因为x值使用了十进制,为什么不使用整数值呢

$array = array();
for ($x = 10; $x <= 100; $x+=10) {
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}
$array=array();

对于($x=10;$x为什么它计算的指数是89和99?它不应该分别是90和100吗

我认为这是因为x值使用了十进制,为什么不使用整数值呢

$array = array();
for ($x = 10; $x <= 100; $x+=10) {
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}
$array=array();

对于($x=10;$x稍微现代一些的语法:

<?php

$array = [];
for ($x = 10; $x <= 100; $x+=10) {
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}

print_r($array);
?>

稍微现代一些的语法:

<?php

$array = [];
for ($x = 10; $x <= 100; $x+=10) {
    for ($z = 10; $z <= 100; $z+=10) {
        $array[$x][$z] = 'test key';
    }
}

print_r($array);
?>

;然后欣赏PHP在从float转换为int时的四舍五入,但为什么要使用float呢?为什么在10'中使用如此复杂的递增方式?我使用float,因为这是我们用来进行一些计算的百分比度量。使用整数,然后仅在需要时转换为float;然后欣赏PHP在w中的四舍五入当从float到int进行转换时,为什么还要使用float呢?为什么在10'中使用如此复杂的递增方式?我使用float,因为这是我们用来进行一些计算的百分比度量。使用整数,然后仅当需要时才转换为float我使用float,因为这是我们用来进行计算的百分比度量一些计算。我知道我也可以以10为增量,但这需要我最终再除以100才能得到浮点数。在这种情况下,在需要时,将
int
转换为
float
。请参阅更新的答案。我使用浮点数,因为这是我们用来进行一些计算的百分比度量ns.我知道我也可以以10为增量,但这需要我最终再除以100才能得到浮点值明白了…在这种情况下,需要时从
int
转换为
float
。请参阅更新的答案。我使用浮点值,因为这是我们用来进行一些计算的百分比度量。我知道我也可以用10个增量,但这需要我最终再除以100,才能得到浮点数。我使用浮点数,因为这是我们用来计算的百分比。我知道我也可以用10个增量,但这需要我最终再除以100,才能得到浮点数