本文整理汇总了PHP中Fn::foldr方法的典型用法代码示例。如果您正苦于以下问题:PHP Fn::foldr方法的具体用法?PHP Fn::foldr怎么用?PHP Fn::foldr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fn
的用法示例。
在下文中一共展示了Fn::foldr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: function
$sum = function () {
$vals = func_get_args();
return Fn::foldl(function ($a, $b) {
return $a + $b;
}, 0, $vals);
};
echo "Sum(1, 2, 3, 4, 5) => 15\n";
print_r($sum(1, 2, 3, 4, 5));
echo "\n";
echo "Zip(array(1, 2, 3), array(3, 2, 1), array(1, 2, 3)) == array((1, 3, 1), (2, 2, 2), (3, 1, 3))\n";
print_r(Fn::zip(array(1, 2, 3), array(3, 2, 1), array(1, 2, 3)));
echo "\n";
$rdiv = function () {
$vals = func_get_args();
return Fn::foldr(Fn::flip(function ($a, $b) {
echo "{$a} / {$b} = " . $a / $b . "\n";
return $a / $b;
}), 2, $vals);
};
echo "RDiv(/ 2 array(8, 12, 24, 4)) => 8.0\n";
echo $rdiv(8, 12, 24, 4) . "\n\n";
echo "flip(\$divv)(1, 0) == 0\n";
$fdivv = Fn::flip(function ($x, $y) {
return $x / $y;
});
echo $fdivv(1, 0) . "\n\n";
$x = Fn::lambda('/2');
echo "4 / 2\n";
echo $x(4) . "\n\n";
$y = Fn::lambda('$a $b -> $a / $b');
echo "4 / 2\n";
echo $y(4, 2) . "\n\n";