如何使用数组函数合并php中的内部数组元素


How to Merge inner array elements in php using array functions?

我有一个这样的数组。

array (size=4)
 0 => 
array (size=1)
  'serial_id' => string '214' (length=3)
 1 => 
array (size=1)
  'serial_id' => string '218' (length=3)
 2 => 
array (size=1)
  'serial_id' => string '221' (length=3)
 3 => 
array (size=1)
  'serial_id' => string '319' (length=3) 

我想要这个作为单阵列

  array (size=4)
'0' => string '214' (length=3)
'1' => string '218' (length=3)
'2' => string '221' (length=3)
'3' => string '319' (length=3)

我不想运行循环,有没有任何数组函数可以提供我所需的输出

有人能帮我吗???我是php数组函数的新手。感谢所有答案,但正在等待使用数组函数的最短答案。。这是我在php 中的代码

    <?php 
    $array = array( array('serial_id' => 214),
         array('serial_id' => 218 ),
         array('serial_id' => 221),
         array('serial_id' => 319) );
    var_dump($array);
    $array2 = array(218,214,221,319);
    var_dump($array2);
    ?>

试试这个。。这是你的旧阵列。。试着把它整理一下。把它当作一个例子。。

 $array = array(0 => array("serial_id"=>"214"),  
              1 => array("serial_id"=>"218"), 
              2 => array("serial_id"=>"221"),
              3 => array("serial_id"=>"319")
              ); 

您可以使用foreach在一个新数组中获取内部元素$new_array=array();foreach($array作为$key=>$inner_array){

   foreach($inner_array as $k=>$v){
    $new_array[$k] = $v;
   }
}

  Output will be
$new_array = array(
    'serial_id_1' => string '214',
    'serial_id_2' => string '218',
    'serial_id_3' => string '221',
    'serial_id_4' => string '319',
);

你可以试试这个代码,我看到你正在更新你的问题

      <?php
    function convert_array($a) {
        for($j = 0; $j < count($a); $j++) {
            $b[$j] = $a[$j]['serial_id'];
        }
    return $b;
    }
   $array = array( array('serial_id' => 214),
         array('serial_id' => 218 ),
         array('serial_id' => 221),
         array('serial_id' => 319) );
    $array2 = convert_array($array);
        var_dump($array2);
        ?>  

如果您使用php>5.5.0

   <?php
   $array = array( array('serial_id' => 214),
         array('serial_id' => 218 ),
         array('serial_id' => 221),
         array('serial_id' => 319) );
$array2 = array_column($array, 'serial_id');
    var_dump($array2);
    ?> 

按照下面的示例循环遍历数组以生成新数组:

$array = array("0" => array("serial_id"=>"214"),  
              "1" => array("serial_id"=>"218"), 
              "2" => array("serial_id"=>"221"),
              "3" => array("serial_id"=>"319")
              );
$new_arr=array();              
foreach( $array as $key => $value ){
$new_arr["serial_id_".$key]=$value["serial_id"];
}
print_r($new_arr);

在这里试试http://sandbox.onlinephpfunctions.com/code/2291c9eaf9842fdbeda4fd69bc707d7404b390d0

循环通过新阵列

foreach( $new_arr as $key => $value ){
    echo $key."'t=>'t".$value."'n";
}