【问题标题】:How to convert values of array when values are in form of array? [duplicate]当值是数组形式时如何转换数组的值? [复制]
【发布时间】:2016-07-28 03:40:18
【问题描述】:

我正在按照以下方式进行操作,该方法是否可以,或者在某些功能的帮助下也可以。请提出建议。

我有一个名为 $items 的数组,输出如下:

array (size=2)
  0 => 
    array (size=1)
      'value' => string '7' (length=1)
  1 => 
    array (size=1)
      'value' => string '14' (length=2)

但我需要如下所示:

array (size=2)
  0 => int 7
  1 => int 14

我确实这样做了,并得到了我需要的结果:

    $new_array = array();
    foreach($items as $key=>$value){
     $new_array[] = $value['value'];
    }

var_dump($new_array);

array (size=2)
  0 => string '7' (length=1)
  1 => string '14' (length=2)

请建议这是正确的方法吗?

【问题讨论】:

  • $new_array = array_column($items, 'value'); - PHP Docs
  • @MarkBaker 谢谢! !

标签: php arrays


【解决方案1】:

试试这个:

$newArray = array_map(function($value) { return (int)$value['value']; }, $items);

或如 @MarkBaker 在 cmets 中建议的那样

$new_array = array_column($items, 'value');

【讨论】:

  • 谢谢!我只是想像你一样使用一些函数进行转换,并且没有 foreach 循环。
【解决方案2】:

php int() 将值转换为 int ,只需使用它

 $new_array = array();
    foreach($items as $key=>$value){
     $new_array[] = (int)$value['value'];
    }

var_dump($new_array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-28
    • 2019-08-05
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多