数据库中的PHP多维数组
我想输出一个来自数据库的三维数组。这是我的数据库,看起来像: 基本上,我希望我的第一个数组将是数据库中的PHP多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我想输出一个来自数据库的三维数组。这是我的数据库,看起来像: 基本上,我希望我的第一个数组将是头\u名称,头\u名称下将出现子\u头\u名称,然后下面是名称 例如: 这是我的密码: $getAllPermission = Permission::get(); $arrHeader = array(); $arrSubHeader = array(); $arrPermissions = array(); // $x = 0; foreach($getAllPermission as $valu
头\u名称
,头\u名称下将出现子\u头\u名称
,然后下面是名称
例如:
这是我的密码:
$getAllPermission = Permission::get();
$arrHeader = array();
$arrSubHeader = array();
$arrPermissions = array();
// $x = 0;
foreach($getAllPermission as $value){
$title = $value->header_name;
$sub_header_name = $value->sub_header_name;
$permission_name = $value->name;
if ($sub_header_name == ""){
$sub_header_name = 0;
}
array_push($arrPermissions,$permission_name);
$arrHeader[$title] = array($sub_header_name => array($arrPermissions));
//$x++;
}
我的输出是这样的:
每次通过循环,您都在推送相同的
$arrpowpermissions
数组,这就是为什么每个角色都会得到一个越来越长的权限数组副本
每次通过循环时都会覆盖$arrHeader[$title]
,而不是向循环中添加一个新键
对于空的sub\u header\u name
,您所需的输出有一个键'
,因此我不明白为什么您有设置$sub\u header\u name=0的if
代码>
它应该是:
foreach ($getAllPermissions as $value) {
$arrHeader[$value->header_name][$value->sub_header_name][] = $value->name;
}
StackOverflow不是免费的编码服务。所以我希望你能。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并回答:)这个问题可能会让你找到正确的方向:我为这个错误感到抱歉。我不小心按了“回车”哦,因为被覆盖了,所以我没有得到正确的数据。无论如何,谢谢你
foreach ($getAllPermissions as $value) {
$arrHeader[$value->header_name][$value->sub_header_name][] = $value->name;
}