Rumah >pembangunan bahagian belakang >tutorial php >高分请高人指点 stdClass Object 转数组

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

WBOY
WBOYasal
2016-06-23 13:59:081017semak imbas

请大哥指点一下,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对象然后解码么...貌似不好用

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:再探PHP sessionArtikel seterusnya:怎么在HTML中获取PHP中某个变量的值