【问题标题】:Separating numbers to different strings or an array将数字分隔为不同的字符串或数组
【发布时间】:2013-08-31 16:03:31
【问题描述】:

我正在使用 Laravel 4 来计算我的数据库条目,我需要将每个数字拆分为不同的字符串或数组。

$users = DB::table('users')->count();

结果例如349,我需要得到:

$string1 = 0;
$string2 = 0;
$string3 = 3;
$string4 = 4;
$string5 = 9;

或数组

$string[0] = 0;
$string[1] = 0;
$string[2] = 3;
....

我特别需要 5 个数字,即使 count(); 结果是 349,我也需要在它之前添加 0 和 0,或者如果我得到 1234 - 前面需要一个零,因为我需要 5 个数字。

我需要使用什么来获得想要的结果?

【问题讨论】:

    标签: php arrays numbers


    【解决方案1】:

    str_splitstr_pad 一起使用

    $users = DB::table('users')->count();
    
    $array = str_split(str_pad($users, 5 , 0, STR_PAD_LEFT));
    

    数组的输出

    array (size=5)
      0 => string '0' (length=1)
      1 => string '0' (length=1)
      2 => string '3' (length=1)
      3 => string '4' (length=1)
      4 => string '9' (length=1)
    

    【讨论】:

    • 由于一些网络托管服务提供商出于安全原因禁用了 sprintf,我会选择您的答案。谢谢!
    • str_split 有必要吗?无论如何,您都可以将字符串视为字符数组。
    【解决方案2】:
    <?php
    $users=349;
    $values=str_split(sprintf('%05d', $users));
    print_r($values);
    ?>
    

    Demo

    【讨论】:

      【解决方案3】:

      正如很早就评论的那样:

      你可以使用sprintf:

      $num = 349;
      $string = str_split(sprintf('%05d', $num));
      print_r($string);
      

      输出:

      Array
      (
          [0] => 0
          [1] => 0
          [2] => 3
          [3] => 4
          [4] => 9
      )
      

      Live demo!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-06
        相关资源
        最近更新 更多