Home > Backend Development > PHP Tutorial > 高分请高人指点 stdClass Object 转数组

高分请高人指点 stdClass Object 转数组

WBOY
Release: 2016-06-23 13:59:08
Original
1014 people have browsed it

请大哥指点一下,Google不到答案就来发帖麻烦大家了.高分奉上!
问题:
我用json得来的一个数组$array 格式如下

Array(    [0] => stdClass Object        (            [num_iid] => 6000026492        )     [1] => stdClass Object        (            [num] => 6000026308        )     [2] => stdClass Object        (            [num] => 6000025528        )     [3] => stdClass Object        (            [num] => 6000025650        )     [4] => stdClass Object        (            [num] => 6000027082
Copy after login

我想要得到的数组为
$array[0]=6000026492
$array[1]=6000026308
.................
请问怎么转换
尽量不用for,因为数据非常多,调用频繁,有没有最好用的方式转换.




回复讨论(解决方案)

还有转换好之后,我再通过implode(","$array)得到终要的结果字符串:6000026492,6000026308.....
有没有一步到位的方法,直接转换

Array(    [0] => stdClass Object        (            [num_iid] => 6000026492        )     [1] => stdClass Object.........
Copy after login
 到6000026492,6000026308.....

没人回答吗
没人回答,今晚我又一个不眠之夜

提供个思路:你把json串,发出来,建议直接处理json串。比如说用一些正则表达式之类的,或者简单点的就str_replace。

提供个思路:你把json串,发出来,建议直接处理json串。比如说用一些正则表达式之类的,或者简单点的就str_replace。
谢谢

//你接收的应该是形如这样的json数据
$s = '[{"num":123},{"num":456}]';
$t = json_decode($s, 1);//解码时宜强制转换成数组
//然后对数组降维
$p = array_map('current', $t);
//最后连接成串
echo implode(',', $p);

//你接收的应该是形如这样的json数据
$s = '[{"num":123},{"num":456}]';
$t = json_decode($s, 1);//解码时宜强制转换成数组
//然后对数组降维
$p = array_map('current', $t);
//最后连接成串
echo implode(',', $p);
直接当成JSON对象然后解码么...貌似不好用

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template