>  기사  >  백엔드 개발  >  高分请高人指点 stdClass Object 转数组

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

WBOY
WBOY원래의
2016-06-23 13:59:08997검색

请大哥指点一下,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으로 문의하세요.