所以我有一个单维数组,如:
xdmp:document-insert('/example.xml', <a><b>bbb</b></a>);
xdmp:node-insert-before(fn:doc('/example.xml')/a/b, <c>ccc</c>);
fn:doc('/example.xml');
(: returns <a><c>ccc</c><b>bbb</b></a> :)
和一个多维数组:
Array
(
[0] => md5
[1] => name
[2] => description
[3] => url
)
我希望使用第一个数组的值作为多维数组的子数组的键,因此输出应如下所示:
Array
(
[0] => Array
(
[0] => md5#1
[1] => name1
[2] => desc1
[3] => url1
)
[1] => Array
(
[0] => md5#2
[1] => name2
[2] => desc2
[3] => url2
)
)
或者(作为一个有点offtopic问题),如果子阵列的键不是[md5]而是[0],我如何用md5的值对多维数组的元素进行排序?
提前致谢!
答案 0 :(得分:2)
要组合两个数组的值,其中一个是键的值,另一个的值是值,请使用array_combine
函数:
$keysArray = [];
$multiArray = [];
$result_array = [];
foreach ($multiArray as $value) {
$result_array[] = array_combine($keysArray, $value);
}
要进行排序 - 请使用usort
并定义自定义函数:
usort($result_array, function($a, $b) { return strcmp($a['md5'], $b['md5']); });