Php 如何将数组多维数组转换为单个数组?

Php 如何将数组多维数组转换为单个数组?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我的输出是 Array ( [bid] => 1 [bookiing_date] => 2014-11-19 ) Array ( [bid] => 2 [bookiing_date] => 2014-11-15 ) Array ( [bid] => 3 [bookiing_date] => 2015-01-10 ) Array ( [bid] => 4 [bookiing_date] => 2015-01-27 ) 但是我想换成这种形式 $

我的输出是

Array ( [bid] => 1 [bookiing_date] => 2014-11-19 ) 
Array ( [bid] => 2 [bookiing_date] => 2014-11-15 ) 
Array ( [bid] => 3 [bookiing_date] => 2015-01-10 ) 
Array ( [bid] => 4 [bookiing_date] => 2015-01-27 )
但是我想换成这种形式

$date = ['2015-01-10','2015-01-27','2014-11-19'];

请任何人帮帮我有一个非常简单的方法。。。我想你还是没有试过……这是最基本、最简单的答案

$sing_arr = array();
$multi_arr = array(array ( "bid"=> 1, "bookiing_date"=> "2014-11-19" ) ,
array ( "bid"=> 2, "bookiing_date"=> "2014-11-15" ) ,
array ( "bid"=> 3, "bookiing_date"=> "2015-01-10" ) ,
array ( "bid"=> 4 ,"bookiing_date"=> "2015-01-27" )
);

foreach($multi_arr as $key=>$val)
{
    array_push($sing_arr,"'".$val["bookiing_date"]."'");
}
echo var_dump($sing_arr);

您可以使用foreach在数组中循环,并将日期存储在另一个数组中:

代码:


您上面所写的内容看起来不太像PHP,但类似这样的东西应该可以做到这一点

$single_dimensional_array = array();
foreach($multi_dimensional_array as $array_item) {
    if(isset($array_item['bookiing_date'])) {
         $single_dimensional_array[] = $array_item['bookiing_date'];
    }
}

echo(var_export($single_dimensional_array), true);
顺便说一句,上面的$single\u dimensional\u array[]=语法只是将等号右侧的值推送到等号左侧数组的末尾。

使用此语法

$array = array(array('bid' => 1, 'bookiing_date' => 2014 - 11 - 19),
    array('bid' => 2, 'bookiing_date' => 2014 - 11 - 15),
    array('bid' => 3, 'bookiing_date' => 2015 - 01 - 10),
    array('bid' => 4, 'bookiing_date' => 2015 - 01 - 27));
$data = array();
foreach ($array as $array_item){
    if(isset($array_item['bookiing_date'])) {
         $data[] = $array_item['bookiing_date'];
    }
}
print_r($data);
如果您使用的是PHP5.5+,请使用array_column

$data = array_column($array, 'bookiing_date');
print_r($data);

数组[bid]=>1[booking_-date]=>2014-11-19数组[bid]=>2[booking_-date]=>2014-11-15数组[bid]=>3[booking_-date]=>2015-01-10数组[bid]=>4[booking_-date]=>2015-01-27这是我从控制器输出的,我正试图将此输出存储在单个变量中,如$date=['2015-01-10'、'2015-01-27'、'2014-11-19';您只编写了数组。。您尝试转换数组的代码是什么?嘿,我使用您的代码,但输出是array4{[0]=>string12'2014-11-19'[1]=>string12'2014-11-15'[2]=>string12'2015-01-10'[3]=>string12'2015-01-27'}我只想要$var=['2014-10-10','2014-10-12'];像这样..数组将从零开始索引。似乎您正在使用var_dump打印输出,即使您手动运行此代码$var=['2014-10-10','2014-10-12'];var_dump$var;您将以array2{[0]=>string10 2014-10-10[1]=>string10 2014-10-12}的形式获得输出,但您的输出与我想要的输出不匹配。这是您的o/p阵列4{[0]=>string12'2014-11-19'[1]=>string12'2014-11-15'[2]=>string12'2015-01-10'[3]=>string12'2015-01-27'}我想要这个输出$日期=['2015-01-10'、'2015-01-27'、'2014-11-19'];啊,我上面的输出只是一个样本。使用$single_dimensional_数组上的另一个foreach语句,您可以使用一些echo语句轻松地生成精确的输出
$array = array(array('bid' => 1, 'bookiing_date' => 2014 - 11 - 19),
    array('bid' => 2, 'bookiing_date' => 2014 - 11 - 15),
    array('bid' => 3, 'bookiing_date' => 2015 - 01 - 10),
    array('bid' => 4, 'bookiing_date' => 2015 - 01 - 27));
$data = array();
foreach ($array as $array_item){
    if(isset($array_item['bookiing_date'])) {
         $data[] = $array_item['bookiing_date'];
    }
}
print_r($data);
$data = array_column($array, 'bookiing_date');
print_r($data);