我正在尝试调整此代码:
function pc_permute($items, $perms = array( )) {
if (empty($items)) {
echo implode($perms); // yield (implode($perms));
} else {
for ($i = count($items) - 1; $i >= 0; --$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
pc_permute($newitems, $newperms);
}
}
}
收益率,如您所见,在同一行中评论。但这样做不会返回任何值。
我打电话给:
foreach (pc_permute($a) as $y) {
echo $y;
}
$ a应该是$a = [0,1,2];
使用echo工作而不是yield。我做错了什么?
答案 0 :(得分:0)