【问题标题】:Converting integer to array of strings [duplicate]将整数转换为字符串数组[重复]
【发布时间】:2019-11-23 14:04:18
【问题描述】:

我需要能够接收一个整数并将其分解为一个数组,如下所示。但是,explode 不适用于整数,所以我试图将 int 转换为字符串,但由于某种原因,它不能正常工作。知道为什么会这样以及如何实现吗?

$num = 321;
$numArr = explode(',',(string)$num);
var_dump($numArr);

需要它返回

array(3) {
  [0]=>
  string(1) "3"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "1"
}

【问题讨论】:

标签: php


【解决方案1】:

只需使用字符串拆分功能并反转它。

$num = 321;
$array = str_split(strrev($num));
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

【讨论】:

  • 是时候集中精力关闭新的副本和修复不正确的旧内容了。旧页面中有很多不好的建议。请以这种有意义的方式帮助这个网站。当提出一个新的基本问题时,用一个骗子关闭它,然后完整地查看这个骗子页面。如果您可以添加新见解,请在旧页面而不是新页面上发布。 SO 的内容非常臃肿。
【解决方案2】:

因为你的字符串就像$num = 321;在这种情况下,321 只是一个单词。 Implode 函数基于字符串工作。而且这个词之间没有逗号。所以这只是一个词。在这种情况下, (,) 逗号无法在您的字符串中识别。结果,您在零 (0) 索引中得到 321。

如果输入值如下所示,您将获得所需的输出:

$num = '3,2,1';
$numArr = explode(',',$num);
print_r($numArr);

数组 ( [0] => 3 [1] => 2 [2] => 1 )

【讨论】:

    猜你喜欢
    • 2022-11-28
    • 2019-11-08
    • 1970-01-01
    • 2013-10-06
    • 2010-11-21
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    相关资源
    最近更新 更多