我有一个如下所示的数组。这是在我们的一台服务器上查询的结果。
[
'count' => 1,
[
'name' => ['count' => 1, 'mac'],
'name',
'staffid' => ['count' => 1, '1234'],
'staffid',
'school' => ['count' => 1, 'western'],
'school',
'count' => 3,
'dn' => 'cn=mac,cn=staff',
],
]
如何循环遍历该数组并创建一个新数组,如下所示。
Array
(
[name] => mac
[staffid] => 1234
[school] => western
)
我尝试了一个
foreach
循环来回显键和值,但我不确定从哪里开始。随着查询的扩展,将返回更多结果,但原始数组布局将相同,新布局需要具有相同的格式。
试试这个:
$result = array();
foreach($yourArray as $element){
for($i=0;$i<$element['count']; $i++){
unset($element[$element[$i]]['count']);
$result[$element[$i]] = implode(', ', $element[$element[$i]]);
}
}
这是一个非常奇怪/笨拙的数据结构。 假设第一层只有一个
count
和一个索引元素,您可以在第二层搜索索引元素,并将这些值用作相关值的键。
代码:(演示)
$result = [];
foreach ($array[0] as $k => $v) {
if (is_int($k)) {
$result[$v] = $array[0][$v][0];
}
}
var_export($result);
输出:
array (
'name' => 'mac',
'staffid' => '1234',
'school' => 'western',
)