$SqlResult=(
[0]=>(stdClass)
k->'AppName',
v->'V2EX',
notes->'应用名称'
[1]=>(stdClass)
k->'AppSite',
v->'http://www.v2ex.com/',
notes->'应用网站'
[2]=>(stdClass)
k->'AppVersion',
v->100,
notes->'应用版本'
);
//array_column方法中貌似不能有对象,先转为数组
$SqlResultArray=json_decode(json_encode($SqlResult),TRUE);
//用$SqlResultArray的'k'作为键,'v'作为值生成新的键值数组
$Array=array_column($SqlResultArray,'v','k');
//输出$Array
print_r($Array);
Array
(
[AppName] => 'V2EX'
[AppSite] => 'http://www.v2ex.com/'
[AppVersion] => 100
)
1
imn1 2016-07-21 16:32:58 +08:00
10+年没写 PHP 了,我记得有个函数可以用 array A 和 array B 各自的值配对成新数组的
|
2
5dkgansm 2016-07-21 16:35:06 +08:00 1
$newarr = array_combine($arr1,explode(',','AppName,AppDescription,AppVersion'));
|
3
qiayue 2016-07-21 16:35:07 +08:00 1
最简单最容易想的方法是循环一下,因为你这个场景数据长度不会太长,循环不会太耗时
|
4
5dkgansm 2016-07-21 16:36:17 +08:00
参数写反了,很久没用,无视吧
|
7
qiayue 2016-07-21 16:38:17 +08:00
function arr2map($arr){
$m = array(); foreach($arr as $o){ $m[$o->k] = $o; } return $m; } |
8
qiayue 2016-07-21 16:39:28 +08:00
6 楼的方法好
|
10
techmoe 2016-07-21 17:54:29 +08:00 via Android
别的都好说,没想通数组怎么转 stdClass Object
难道说写个 class 然后拿构造函数绑属性上去吗。。 |
13
junyuecao 2016-07-22 09:27:50 +08:00 via Android
我是来试一下头像的
|