简体   繁体   English

PHP通过键将多维数组转换为一维数组

[英]PHP convert multi dimensional array into single dimensional array by key

Array: 数组:

Array
(
    [0] => Array
        (
            [ID] => 11,
            [Create_date] => 2017-11-23
        ),

    [1] => Array
        (
            [ID] => 10,
            [Create_date] => 2017-11-23
        ),

    [2] => Array
        (
            [ID] => 9,
            [Create_date] => 2017-11-23
        ),

    [3] => Array
        (
            [ID] => 8,
            [Create_date] => 2017-11-23
        ),

    [4] => Array
        (
            [ID] => 7,
            [Create_date] => 2017-11-23
        )

);

Expected Array: 预期数组:

array('11','10','9','8', '7');

I know How can I achieve this result by using a loop but for performance improvement, we want to use inbuilt function can anyone please tell us How can we achieve this result? 我知道如何通过使用循环来实现此结果,但是为了提高性能,我们想使用内置函数,任何人都可以告诉我们如何实现此结果?

Simple use array_column() Function in php 简单使用php中的array_column()函数

$array = [

[
    "ID" => 11,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 10,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 9,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 8,
    "Create_date" => "2017-11-23"
], 
];

echo "<pre>";
print_r(array_column($array, "ID"));
?>

Using foreach 使用foreach

foreach ($array as $key=>$value)
{
    echo $key.'<br/>';

    echo $value['id'].'<br/>';
    echo $value['Create_date'].'<br/>';
}

Simple array_map function use. 简单的array_map函数使用。

<?php

    $movies = array(
      array(
        "id" => 11,
        "Create_date" => 2017-11-23,

      ),
      array(
        "id" => 10,
        "Create_date" => 2017-11-23,

      ),
      array(
         "id" => 9,
        "Create_date" => 2017-11-23,

      ),
        array(
         "id" => 8,
        "Create_date" => 2017-11-23,

      ),
       array(
         "id" => 7,
        "Create_date" => 2017-11-23,

      )
    );

    $oneDimensionalArray = array_map('current', $movies);
    print_r($oneDimensionalArray);
    ?>

Output : 输出:

Array ( [0] => 11 [1] => 10 [2] => 9 [3] => 8 [4] => 7 )
$array = [
[
    "ID" => 11,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 10,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 9,
    "Create_date" => "2017-11-23"
], 
[
    "ID" => 8,
    "Create_date" => "2017-11-23"
], 
];

foreach ($array as $key=>$value)
{    
    $id[]          =  $value['id'];
    $creatteDate[] = $value['Create_date'];
}

echo "<pre>"; print_r($creatteDate); 

print_r($id); 

exit;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM