茅侃侃
对于前两个示例案例,您可以使用key()和current()分配所需的值。$ar = $o->me; // reset isn't necessary, since you just created the array$typ = key($ar);$val = current($ar);$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);$expected = [key($out), current($out)];在这些情况下,您可以使用next()以后推进光标,但如果其余代码不依赖于此,则可能没有必要。对于第三种情况,我建议只使用foreach()循环而$kv在循环内部分配。 foreach ($broken as $k => $v) { $kv = [$k, $v]; }对于第四种情况,看起来密钥被忽略list(),因此您可以分配当前值。 $this->result = current($this->cache_data);与前两种情况一样,可能需要next()根据代码的其余部分如何与之交互来推进光标$this->cache_data。第五个可以用for()循环代替。 reset($array); for ($i = 0; $i < 30; $i++) { $id = key($array); $item = current($array); // code next($array); }