infrajs/each

此包的最新版本(v1.0.7)没有可用的许可证信息。

v1.0.7 2020-05-09 00:46 UTC

This package is auto-updated.

Last update: 2024-09-06 19:25:58 UTC


README

Latest Stable Version Total Downloads

Each::exec - 对数组或简单值每个元素的回调。

函数将传输数据作为单元长度的索引数组进行处理;如果实际传递了索引数组,则匿名函数将为索引数组的每个元素执行;如果传递了除索引数组之外的任何类型,则数据将作为具有一个元素的索引数组进行处理,并将传递给匿名函数的单个元素执行。对于具有null值的元素,函数将不会执行。

$counter = 0;
$el = [2, [4, 6], 5];
Each::exec($el, function ($b) use (&$counter) {
    $counter++;
    if ($counter === 3) {
        assert(6 === $b);
    }
});

Each::isAssoc - 此方法检查传递的参数是否为关联数组。

$elements = ['9' => '42', 8, 4, 5, 3];
assert(true === Each::isAssoc($elements));
$elements = [9, 8, 4, 5, 3];
assert(false === Each::isAssoc($elements));

Each::isInt - 此方法检查传递的参数是否为数字。

如果以数字的形式传递的文本参数(不带空格或额外文本),则该方法将使用类似数字的参数进行操作。

$el = 12;
assert(true === Each::isInt($el));
$el = '12';
assert(true === Each::isInt($el));

Each::isEqual - 此方法检查传递的参数是否按引用。

方法仅在两个变量相互引用时才返回true。

$a = 1;
$b = &$a;
assert(true === Each::isEqual($a, $b));

测试

运行测试文件 test.php

正面回答

{result:1}

负面回答

{"result":0, msg:"В работе кода произошел сбой."}
使用PHPunit进行测试
phpunit --bootstrap Each.php tests/EachTest

Each::exec - 对索引数组每个元素或简单值的回调函数。

函数将传输数据作为单元长度的索引数组进行处理;如果确实传递了索引数组,则匿名函数将为索引数组的每个元素执行;如果传递了除索引数组之外的任何类型,则数据将作为具有一个元素的索引数组进行处理,并将传递给匿名函数的单个元素执行。对于具有null值的元素,函数将不会执行。

$counter = 0;
$el = [2, [4, 6], 5];
Each::exec($el, function ($b) use (&$counter) {
    $counter++;
    if ($counter === 3) {
        assert(6 === $b);
    }
});

Each::isAssoc - 此方法检查传递的参数是否为关联数组。

$elements = ['9' => '42', 8, 4, 5, 3];
assert(true === Each::isAssoc($elements));
$elements = [9, 8, 4, 5, 3];
assert(false === Each::isAssoc($elements));

Each::isInt - 此方法检查传递的参数是否为数字。

如果以数字的形式传递的文本参数(不带空格和额外文本),则该方法将使用类似数字的参数进行操作。

$el = 12;
assert(true === Each::isInt($el));
$el = '12';
assert(true === Each::isInt($el));

Each::isEqual - 此方法检查传递的参数是否按引用。

方法仅在两个变量相互引用时才返回true。

$a = 1;
$b = &$a;
assert(true === Each::isEqual($a, $b));

测试

打开浏览器中的 test.php 进行测试

如果回答是正面的,您将看到以下消息

{"result":1}

如果代码执行中出现错误,则消息将是

{"result":0, msg:"В работе кода произошел сбой."}
使用PHPunit进行测试
phpunit --bootstrap Each.php tests/EachTest