我有一个数组(来自 mysql),
Array (
[0] => Array (
[heading] => Page Name change
[name] => Page_Name_change
[menu] => online
)
[1] => Array (
[heading] => Lorem ipsum dolor
[name] => Lorem_ipsum_dolor_
[menu] => akshaya
)
[2] => Array (
[heading] => fgdfgfdgdfgdf
[name] => fgdfgfdgdfgdf
[menu] => akshaya
)
)
我需要根据[menu]
将它分成单独的数组,检查这个php
function getpage() {
$query = "SELECT heading,name,menu FROM pages";
$res = $this->_conn->query($query);
while ($row = mysqli_fetch_assoc($res)) {
$result[] = $row;
}
for ($i=0; $i < count($result); $i++) {
if (strcmp($result[$i]['menu'],'akshaya') == 0) {
for ($j=0; $j < count($result[$i]) ; $j++)
$menu = $result[$i][$j];
}
}
//if(strcmp($row['menu'],'akshaya')==0) { }
return $menu;
}
预期的结果是数组,其中每个菜单段都包含初始数组中的元素列表,如下所示:
[
'online' => [
[
'heading' => '...',
'name' => '...',
],
],
'akshaya' => [
[...],
[...],
],
]
用于显示导航菜单和子菜单,
最佳答案
function getpage() {
$query = "SELECT heading,name,menu FROM pages";
$res = $this->_conn->query($query);
while ($row = mysqli_fetch_assoc($res)) {
$result[] = $row;
}
$menu = [];
foreach ($result as $menuItem) {
$menu[$menuItem['menu']][] = $menuItem;
}
return $menu;
}
关于php - 将多维数组拆分为单个数组 :PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36821168/