enjoys/cartesian-iterator

0.1.1 2023-08-29 06:14 UTC

This package is auto-updated.

Last update: 2024-09-29 08:49:27 UTC


README

Tests Scrutinizer Code Quality Code Coverage Mutation testing badge psalm

笛卡尔迭代器

分支 https://github.com/PatchRanger/cartesian-iterator

迭代器,返回关联数组迭代器的笛卡尔积。请参阅 https://en.wikipedia.org/wiki/Cartesian_product

<?php

$cartesianIterator = new \Enjoys\CartesianIterator();
$cartesianIterator->attachIterator(new \ArrayIterator([1,2]), 'test');
$cartesianIterator->attachIterator(new \ArrayIterator(['foo', 'bar']));

$result = iterator_to_array($cartesianIterator, false);
print_r($result);

结果

Array
(
    [0] => Array
        (
            [test] => 1
            [1] => foo
        )

    [1] => Array
        (
            [test] => 2
            [1] => foo
        )

    [2] => Array
        (
            [test] => 1
            [1] => bar
        )

    [3] => Array
        (
            [test] => 2
            [1] => bar
        )

)