PHPDB返回数组问题
我正在尝试将2 db的结果组合在一起,形成如下数组:PHPDB返回数组问题,php,database,Php,Database,我正在尝试将2 db的结果组合在一起,形成如下数组: array( 0=>array( 'name'=>'John', 'title'=>'manager', 'email'=>'test', 'permission'=>'1', 'depart'=>'human resource' ), 1=>array( 'name'=>'Ted',
array(
0=>array(
'name'=>'John',
'title'=>'manager',
'email'=>'test',
'permission'=>'1',
'depart'=>'human resource'
),
1=>array(
'name'=>'Ted',
'title'=>'employee',
'email'=>'test2',
'permission'=>'2',
'depart'=>'human resource'
)
)
前3个元素来自1个返回的DB结果,后两个元素来自另一个DB结果
$firstResults = DBCall::call(getName); //get name,title,email or John and Ted as an array
$secondResults = DBCall::call(getPermission); //get permission and depart as an array
//I then use array merge
$userResults=array_merge($firstResults ,$secondResults);
//but it will become
array(
0=>array(
'name'=>'John',
'title'=>'manager',
'email'=>'test'
),
1=>array(
'name'=>'Ted',
'title'=>'employee',
'email'=>'test2'
),
2=>array(
'permission'=>'1',
'depart'=>'human resource'
),
3=>array(
'permission'=>'2',
'depart'=>'human resource'
)
)
有什么办法可以证明我需要的结果吗?非常感谢 这似乎测试正常
也许您可以从SQL语句中获得组合结果。我认为最合适的方法是创建一个新的DBCall::call(getNamePermission),它将使用新的查询。不幸的是,我无法更改db调用。我必须使用当前的数据库结果。我认为唯一的方法是实际定义一个新数组。不久前我遇到了一些问题,唯一的解决方法就是使用循环创建一个新数组。
<?php // RAY_temp_flyingcat.php
error_reporting(E_ALL);
echo "<pre>";
// SIMULATE DB RESULTS SETS
$getname = array(
0=>array(
'name'=>'John',
'title'=>'manager',
'email'=>'test',
),
1=>array(
'name'=>'Ted',
'title'=>'employee',
'email'=>'test2',
)
)
;
$getperm = array(
0=>array(
'permission'=>'1',
'depart'=>'human resource'
),
1=>array(
'permission'=>'2',
'depart'=>'human resource'
)
)
;
// MERGE THE ARRAYS SENSIBLY
foreach ($getname as $key => $arr)
{
$getboth[$key] = array_merge($getname[$key], $getperm[$key]);
}
// SHOW THE WORK PRODUCT
print_r($getname);
print_r($getperm);
print_r($getboth);