1
鉴于以下代码发生器参考不工作
public static function &generate($arr)
{
foreach ($arr as $key => $value) {
yield $key => $value;
}
}
此静态方法应产生$密钥=>每个阵列迭代
然后,我使用静态方法中的另一类上$值由参考:
$questions = $request->questions;
foreach (self::generate($questions) as &$question) {
$question['label'] = json_encode($question['label']);
... other code
}
unset($question);
die(var_dump($questions[0]['label']));
我应该有一个json编码的字符串,但我总是有一个数组,我不明白为什么。
- 在$请求VAR的
questions
属性不存在,它是由魔术方法__get
(questions
是阵列的内部,从而该值通过__get返回) - 如果删除返回的生成方法并给予
$questions
我的foreach,它的作品,我有我的JSON编码字符串
哦,干得好!我从来没有在函数/方法原型中看到给定参数的'&',所以今天我学到了一件大事! 谢谢:) – everytimeicob
发电机和通过引用是古怪的,一般不建议 –
好吧谢谢你的提示:) – everytimeicob