Codeigniter PHP数组对象转换

Codeigniter PHP数组对象转换,php,json,rest,codeigniter,codeigniter-3,Php,Json,Rest,Codeigniter,Codeigniter 3,我正在使用PHP Codeigniter。我有一个来自模型as的结果 Array ( [0] => stdClass Object ( [player_id] => 5bbbdfb4-6986-4383-90af-e3a12782b572 ) [1] => stdClass Object ( [player_id] => 46834ecd-ceef-49b8-a10a-706ee97ff729 ) ) 我想换成 array("5bbbdfb4-6986-4383-90a

我正在使用PHP Codeigniter。我有一个来自模型as的结果

Array ( [0] => stdClass Object ( [player_id] => 5bbbdfb4-6986-4383-90af-e3a12782b572 ) [1] => stdClass Object ( [player_id] => 46834ecd-ceef-49b8-a10a-706ee97ff729 ) )
我想换成

array("5bbbdfb4-6986-4383-90af-e3a12782b572","46834ecd-ceef-49b8-a10a-706ee97ff729")
我为此伤了两天的头。感谢您的帮助。

您可以尝试使用以下方法:

$arr = json_decode(json_encode($arr_obj), True);
也作为

$arr = (array)$arr_obj;

正如Nigen Sen所说,可以在PHP7+中使用array_列

您也可以使用以下函数

$players = array_map(function($e) {
    return $e->player_id;
}, $records); // $records is your array object that need to be processed.

print_r( $players );

不确定特定于CI的方式,但PHP7+您应该能够使用
array\u column($array,“player\u id”)
使用
typecasting
这样的$new\u array=(array)$my\u objects;我使用了
array\u列($array,“player\u id”)
,其中输出是
array([0]=>5BBDFB4-6986-4383-90af-e3a12782b572[1]=>46834ecd-ceef-49b8-a10a-706ee97ff729)
我怀疑你是从数据库得到结果的?如果使用
$query->result()
可以使用
$query->result\u array()
尝试使用json\u encode()方法将其转换为json格式。另外,编辑您的问题并添加您正在编写的代码并获得此结果。感谢Vantiya,因为您和Nigen Sen的建议都返回
数组([0]=>5BBDFB4-6986-4383-90af-e3a12782b572[1]=>46834ecd-ceef-49b8-a10a-706ee97ff729)
如何再次转换为
数组(“5BBDFB4-6986-4383-90af-e3a12782b572”,“46834ecd-ceef-49b8-a10a-706ee97ff729”)
@Stephenpaularj,你知道
数组([0]=>'www')
等于
数组('www')
?它是一个数组。如果你声明数组类似(“5BBDFB4-6986-4383-90af-e3a12782b572”,“46834ecd-ceef-49b8-a10a-706ee97ff729”),那么数组中的每个元素都是数组它的默认索引从零开始。这是数组的一个特征。数组只是一个变量,它使用索引/键存储类似类型的数据。@asken-p我知道,我正在将相同的结果传递给Onesignal,我得到了错误。可接受的键是
数组(“x”、“y”、“z”)
,“数组('www'),这不会过去。