基本上我的应用程序正在与一个Web服务交互,该服务发回一个奇怪的多维数组,例如:
Array
(
[0] => Array
(
[Price] => 1
)
[1] => Array
(
[Size] => 7
)
[2] => Array
(
[Type] => 2
)
)
Run Code Online (Sandbox Code Playgroud)
这不是问题,但问题是服务不断更改这些项的索引,因此在下一个数组中,Price可以是1而不是0.
如何有效地将这样的数组转换为单维数组,以便通过$ var ['Size']而不是$ var [1] ['Size']来访问变量?
感谢您的帮助
use*_*291 30
$result = call_user_func_array('array_merge', $array);
Run Code Online (Sandbox Code Playgroud)
像这样:
$result = array();
foreach($array as $inner) {
$result[key($inner)] = current($inner);
}
Run Code Online (Sandbox Code Playgroud)
该$result
数组现在看起来像这样:
Array
(
[Price] => 1
[Size] => 7
[Type] => 2
)
Run Code Online (Sandbox Code Playgroud)
我正在使用laravel的助手:http://laravel.com/api/source-function-array_flatten.html#179-192
function array_flatten($array)
{
$return = array();
array_walk_recursive($array, function($x) use (&$return) { $return[] = $x; });
return $return;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18658 次 |
最近记录: |