首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数字从1循环到100,每10个数字保存数字除以10。

将数字从1循环到100,每10个数字保存数字除以10。
EN

Stack Overflow用户
提问于 2017-06-21 10:06:16
回答 2查看 97关注 0票数 3

这段代码可以做我想做的事情,但是我认为有一个更好的魔法,它可以在几行代码中完成,特别是当循环从1到1000之间。

代码语言:javascript
复制
for ($i=1; $i <= 100; $i++) 
{
    if ($i <= 10 ) {
        $id = 1;
    }
    elseif ($i > 10 && $i <= 20) {
        $id = 2;
    }
    elseif ($i > 20 && $i <= 30) {
        $id = 3;
    }
    elseif ($i > 30 && $i <= 40) {
        $id = 4;
    }
    elseif ($i > 40 && $i <= 50) {
        $id = 5;
    }
    elseif ($i > 50 && $i <= 60) {
        $id = 6;
    }
    elseif ($i > 60 && $i <= 70) {
        $id = 7;
    }
    elseif ($i > 70 && $i <= 80) {
        $id = 8;
    }
    elseif ($i > 80 && $i <= 90) {
        $id = 9;
    }
    elseif ($i > 90 ) {
        $id = 10;
    }

    $array = ['id' => $id, 'order' => $i];

    Provider::create($array);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-21 10:20:27

以下是您的解决方案:

代码语言:javascript
复制
for ($i=1; $i <= 1000; $i++) 
{
    $id = ceil($i/10);
    $array = ['id' => $id, 'order' => $i];

    Provider::create($array);
}
票数 2
EN

Stack Overflow用户

发布于 2017-06-21 10:15:00

使用以下代码:

代码语言:javascript
复制
<?php
$arr = array();
for ($i=1; $i <= 100; $i++) 
{
    $id = $i/10;
    if ($i%10 == 0) {
      echo "id: ".$id." Order: ".$i."\n";
      $arr[$id] = $i;
    }
}
print_r($arr);

输出

代码语言:javascript
复制
id: 1 Order: 10
id: 2 Order: 20
id: 3 Order: 30
id: 4 Order: 40
id: 5 Order: 50
id: 6 Order: 60
id: 7 Order: 70
id: 8 Order: 80
id: 9 Order: 90
id: 10 Order: 100
Array
(
    [1] => 10
    [2] => 20
    [3] => 30
    [4] => 40
    [5] => 50
    [6] => 60
    [7] => 70
    [8] => 80
    [9] => 90
    [10] => 100
)

演示: 单击此处

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44673036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档