如何使用数组函数合并 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 = 数组();
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',
);
按照以下示例循环遍历数组以生成新数组:
$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";
}
你可以试试这段代码,我看到你正在更新你的问题
<?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 (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 = 数组(); 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',
);
按照以下示例循环遍历数组以生成新数组:
$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";
}
你可以试试这段代码,我看到你正在更新你的问题
<?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);
?>