我有一个类似
的数组$my_array = Array
(
[0] => Array
(
[0] => rock
)
[1] => Array
(
[1] => James
)
[2] => Array
(
[2] => John
)
)
我想要像这样的数组
array([0]=>rock [1]=>James [2]=> john);
我可以用这种形式获取数组。请帮帮我。
答案 0 :(得分:1)
您的数组子项包含与父数组相同的键,因此您必须为两者使用相同的键!
$my_array = array(
array( '0' => 'rock' ),
array( '1' => 'James' ),
array( '2' => 'John')
);
这将有效:
$n_a = [];
foreach($my_array $k => $ma) {
$n_a[$k] = $ma[$k]; //here is the problem
}
print_r($n_a);
$n_a
包含最终数组。
答案 1 :(得分:0)
这是一个解决方案:
$newArray = [];
foreach ($data as $value) {
$newArray[] = $value[0];
}
$ newArray将保存新的数组结果
答案 2 :(得分:0)
像这样使用foreach
$my_array = array
(
array
(
'0' => 'rock'
)
,
array
(
'1' => 'James'
)
,
array
(
'2' => 'John'
)
);
print_r($my_array);
$newArray = [];
foreach ($my_array as $key => $value) {
$newArray[] = $value[$key];
}
print_r($newArray);
答案 3 :(得分:0)
您可以通过一行代码实现这一目标:
将call_user_func_array()
与array_merge()
一起使用,
$final_array = call_user_func_array('array_merge', $array);