首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数组中的所有数字值转换为整数类型,否则将非数字值保留为字符串。

将数组中的所有数字值转换为整数类型,否则将非数字值保留为字符串。
EN

Stack Overflow用户
提问于 2013-11-08 16:50:20
回答 9查看 16.7K关注 0票数 2

给定数组时,如何将从键1开始的数组从字符串类型转换为int类型?

代码语言:javascript
复制
Array
(
  [0] => "id"
  [1] => "6086220176"
  [2] => "6542925762"
  [3] => "6623113406"
  [4] => "6702782948"
)

我已经检查了相关的问题如何将数组值从字符串转换为int?,但是我想跳过第一个键"id“in he转换,而不是数组中的所有键!

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-11-08 17:11:25

代码语言:javascript
复制
$arr = array_merge(array($arr[0]),array_map('intval', array_slice($arr, 1)));

输出:

代码语言:javascript
复制
array(5) {
  [0]=>
  string(2) "id"
  [1]=>
  int(2147483647)
  [2]=>
  int(2147483647)
  [3]=>
  int(2147483647)
  [4]=>
  int(2147483647)
}

演示。

票数 3
EN

Stack Overflow用户

发布于 2013-11-08 16:55:58

代码语言:javascript
复制
array_walk($array, function (&$value) {
    if (ctype_digit($value)) {
        $value = (int) $value;
    }
});
var_export($array);

输出:

代码语言:javascript
复制
array (
  0 => 'id',
  1 => 6086220176,
  2 => 6542925762,
  3 => 6623113406,
  4 => 6702782948,
)
票数 5
EN

Stack Overflow用户

发布于 2013-11-08 16:59:56

代码语言:javascript
复制
$array = array($array[0]) + array_map('intval', $array);

(如果您想避免使用foreach循环)

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

https://stackoverflow.com/questions/19864377

复制
相关文章

相似问题

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