在PHP中,是否可以在不使用递归或引用的情况下展平(双/多)维数组?
我只对值感兴趣所以可以忽略键,我正在考虑array_map()和array_values().
可能重复:
将多维数组转换为一维数组
我有这种阵列
Array
(
[0] => Array
(
[0] => 88868
)
[1] => Array
(
[0] => 88867
)
[2] => Array
(
[0] => 88869
)
[3] => Array
(
[0] => 88870
)
)
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为一维数组.我怎样才能做到这一点?
比如这样..
Array
(
[0] => 88868
[1] => 88867
[2] => 88869
[3] => 88870
)
Run Code Online (Sandbox Code Playgroud)
任何PHP内置功能都可用于此阵列转换?
实现数据库查询后,我将获得下面的多维数组.
二维数组
Array
(
[0] => Array
(
[t1] => test1
)
[1] => Array
(
[t2] => test2
)
[2] => Array
(
[t3] => test3
)
[3] => Array
(
[t4] => test4
)
[4] => Array
(
[t5] => test5
)
)
Run Code Online (Sandbox Code Playgroud)
但我想将其转换为单维数组,如下面的格式.
一维数组
Array (
t1 => test1
t2 => test2
t3 => test3
t4 => test4
t5 => test5
)
Run Code Online (Sandbox Code Playgroud)
请帮我这样做
嘿,我正在使用FuelPHP并且这样做......
$query =
\DB::select( 'username' )
->from( 'users' )
->execute()
->as_array();
Run Code Online (Sandbox Code Playgroud)
我正在获得如下所示的阵列.
Array
(
[0] => Array
(
[username] => daGrevis
)
[1] => Array
(
[username] => whatever
)
[2] => Array
(
[username] => foobar
)
)
Run Code Online (Sandbox Code Playgroud)
这绝对不是我需要的.这是我的"理想阵列"的例子:
Array
(
[0] => daGrevis
[1] => whatever
[2] => foobar
)
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能获得"理想阵列"?也许我在查询中做错了...如果不...我怎样才能将数组#1转换为数组#2?使用循环可能吗?还是有内置功能?我糊涂了.
我经常有一个二维数组:
array(
array('key' => 'value1'),
array('key' => 'value2'),
...
);
Run Code Online (Sandbox Code Playgroud)
并需要形成一维数组:
array('value1', 'value2')
Run Code Online (Sandbox Code Playgroud)
这可以很容易地用foreach完成,但我想知道是否有一些php 5.3方法在一行中完成它.
我想转换
$array_of_arrays = [[1,2,3],[4,5,6],[7,8],[9,10]];
Run Code Online (Sandbox Code Playgroud)
进入
$array = [1,2,3,4,5,6,7,8,9,10];
Run Code Online (Sandbox Code Playgroud)
我可以用
$array = [];
foreach($array_of_arrays as $one_array):
$array = array_merge($array,$one_array);
endforeach;
Run Code Online (Sandbox Code Playgroud)
但是我有很长的数组数组,是否有任何函数(方法)可以在没有 foreach 循环的情况下执行此操作
我有这样的数组:
Array (
[2018-03-12] => Array (
[United States] => 4
[Australia] => 15
[United Kingdom] => 0
[New Zealand] => 0
)
[2018-03-13] => Array (
[United States] => 0
[Australia] => 8
[United Kingdom] => 2
[New Zealand] => 0
)
)
Run Code Online (Sandbox Code Playgroud)
我想制作一个这样的数组:
[
["2018-03-12", 4, 15, 0, 0],
["2018-03-13", 0, 8, 0, 2]
]
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?