PHP
その1. PHPで配列の直積 複数配列の直積、ワンラインで書けますね。 function array_cartesian_product(array ...$arrs): array { return array_reduce($arrs, fn($acc, $arr) => array_reduce(array_map(fn($v) => array_map(fn($r) => [...$r, $v], $acc),…
前回Iterator2個を先頭から読んで要素同士を組み合わせたすべての値を生成するIteratorを作成した。 terazzo.hatenadiary.org 今回はこれを3個に増やしてみる。
PHPで2個の配列から一つづつ値を取り出した際の全ての組み合わせを取得したい場合はforeachを入れ子にすればいい。 $arr1 = [0, 1, 2]; $arr2 = ['a', 'b', 'c']; $product = iterator_to_array((function ($a1, $a2) { foreach ($a1 as $v1) { foreach ($a2…