首頁 >後端開發 >php教程 >高分请高人指点 stdClass Object 转数组

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

WBOY
WBOY原創
2016-06-23 13:59:081019瀏覽

请大哥指点一下,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

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




回复讨论(解决方案)

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

Array(    [0] => stdClass Object        (            [num_iid] => 6000026492        )     [1] => stdClass Object.........
 到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对象然后解码么...貌似不好用

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn