将php整数转换为字符串到数组?

时间:2016-08-12 17:36:34

标签: php data-conversion

我写了这个函数,它接受一个数字并用逗号格式化,所以每三个数字从右到左,一个逗号添加。

它有效,但是有一个“单位化字符串偏移量”的错误,我发现这是由于我将字符串视为一个数组。

我决定发布我的代码,看看是否有更直接的方法来做到这一点。

否则,我的主要问题是如何将该字符串转换为数组?

我尝试使用str_split,但它破坏了我的代码/页面。

<?php

  // comma function
  function commaCreate($num) {
    // convert number to string
    $int_string = strval($num);
    // turn $int_string into an array (omitted as it doesn't work)
    // $int_string = str_split($int_string);
    // get length of string
    $int_length = strlen($int_string);
    // create variables
    $counter          = 0;
    $formatted_number = "";
    // run through number right-to-left
    for ($i = $int_length; $i >= 0; $i--) {
      if ($counter == 3) {
        // add number
        $formatted_number = $int_string[$i].$formatted_number;
        // add comma
        if ($i != 0) {
          $formatted_number = ",".$formatted_number;
        }
        // reset counter
        $counter = 0;
        $counter++;
      }
      else {
        $formatted_number = $int_string[$i].$formatted_number;
        $counter++;
      }
    }
    // output formatted number
    echo $formatted_number;
  }

  commaCreate(300000); // outputs 300,000

?>

我想我已经意识到,如果我选择了这条路,我可以做些什么。

我只是通过字符串(作为数组 cringe )并将其添加到数组中。

类似

$array      = array();
$num_string = strval($num);
$num_length = strlen($num_string);
for ( $i = 0; $i < $num_length; $i++) {
    $array = $num_string[$i];
}

我认为这会起作用,不确定,必须尝试一下,但是由于akDeveloper,我有一个更简单的解决方案

1 个答案:

答案 0 :(得分:3)

PHP&#34; $&#34;变量包括每种类型的变量。你只需要一些技巧就可以将任何变量转换成你想要的变量。例如:

$n = 12345; // This is integer
$s = $n.""; // Now $s is string. 
echo $s[2]; // Now $s is array. 

输出:&#34; 3&#34;。作为$ n在2 = 3