【发布时间】:2016-05-29 03:42:06
【问题描述】:
我想是时候问了,因为我已经为此工作了一个多小时。
我需要获取一个对象并将其转换为数组 - 完成 我需要在数组末尾添加一个新元素,如 [9] => value - ISSUE :( 我需要洗牌 - 完成
我尝试过的每样东西都会像这样出来
这里是 $wlist 作为原始类对象
CAPTCHA_CLASS_Wordlist Object
(
[jsObjectList] => Array
(
[0] => providers
[1] => chemical
[2] => family
[3] => supported
[4] => urban
[5] => produced
[6] => continued
[7] => stream
[8] => administrative
)
)
转换后是这个
Array
(
[0] => Array
(
[0] => claim
[1] => continued
[2] => limit
[3] => platform
[4] => websites
[5] => efforts
[6] => dollars
[7] => saint
[8] => family
)
[1] => water
)
它必须是 [9] => 值
我什至尝试过 $arrayname[9] = $value 和 $arrayname[0][9] 都没有成功。即使我在 foreach 中重新创建数组,我仍然遇到同样的问题,无法添加额外的末尾的元素作为键 [9]
这是我的代码
//convert object to array
$convert = (array)$wlist;
//now add the answer to it
array_push($convert, $questanswer);
//now shuffle
$final = shuffle($convert);
$questanswer 只是一个文本词,例如 - house
谢谢:)
更新:这是 stdClass 之后的样子
//convert object to array
$convert = (array)$wlist;
//new stdClass and load it
$nc = new stdClass;
$nc->questanswer = $questanswer;
//now add the answer to it
array_push($convert[0], $nc);
$finaloptions = shuffle($convert);
Array
(
[0] => stdClass Object
(
[questanswer] => hexagon
)
[1] => Array
(
[0] => labor
[1] => designated
[2] => shops
[3] => load
[4] => fresh
[5] => mass
[6] => patch
[7] => foot
[8] => congress
)
)
【问题讨论】:
-
使用
get_object_vars -
我想我也试过了,但让我再做一次,这是漫长的一天:)
-
是的,我仍然有同样的问题,只是转换它,我在转换后添加了额外的元素,所以同样的问题
-
我想我可以将文本值转换为数组然后合并,但我认为这将是相同的
-
好的,所以你的意思是在我将元素转换为数组之前添加元素,对吧?所以在它仍然是一个对象的时候添加新值吧?