【问题标题】:How to convert a multidimensional array into single dimensional array without using foreach method [duplicate]如何在不使用foreach方法的情况下将多维数组转换为一维数组[重复]
【发布时间】:2015-10-07 21:50:26
【问题描述】:

不使用foreach方法如何将多维数组转换为一维数组

Array
    (
       [0] => Array
           (
               [opportunityid] => 5
               [id] => 89
               [discountedpackagecost] => 89990.00
               [discountedaddoncost] => 61000.00
               [title] => This is a very big title okayyyyyyy???????
           )

       [1] => Array
           (
               [opportunityid] => 42
               [id] => 90
               [discountedpackagecost] => 45592.00
               [discountedaddoncost] => 0.00
               [title] => test book
           )

    )

我只需要每行的 Key->“id”。

php 中有什么默认方法可用吗??

我只是希望结果是这样的。

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

【问题讨论】:

  • 你可以看看phps数组函数,即array_walk_...()家族。但是那些自己也使用循环,那么这里有什么意义呢?
  • 我知道一些默认函数有内置循环。我只是希望这些函数具有内置循环,而不需要我们创建自定义循环。
  • 好的,听起来 php 提供的数组函数正是您想要的。 php 文档包含完整列表,其中包含函数用法的良好示例。

标签: php arrays multidimensional-array


【解决方案1】:

您可以在 PHP 5.5 或更高版本中使用 array_column

$array = array(
               array(
                  'id' => 1,
                  'name' => 'foo'
               ),
               array(
                  'id' => 2,
                  'name' => 'bar'
               )
         );

$ids= array_column($array, 'id');
print_r($ids);

Read More

【讨论】:

  • array_column 函数在 PHP 中不支持低于 5.5 的版本
  • @SaiDeepak 我知道并且我在回答中提到了它。 5.5 或更高版本!!
  • 是的,我知道但我只是问有没有什么方法
  • @SaiDeepak 在 PHP 5.4 之前没有 self 方法,但这里有很多方法可以实现它stackoverflow.com/questions/1494953/…
猜你喜欢
  • 2017-09-27
  • 2020-08-10
  • 2015-06-09
  • 2011-08-24
  • 2019-04-03
  • 1970-01-01
  • 2020-01-12
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多