今天PHP团队发布了PHP 5.5.0版本,其中包括对生成器的支持.阅读文档,我注意到它完全可以用数组做.
PHP团队生成器示例:
// Only PHP 5.5
function gen_one_to_three() {
for ($i = 1; $i <= 3; $i++) {
// Note that $i is preserved between yields.
yield $i;
}
}
$generator = gen_one_to_three();
foreach ($generator as $value) {
echo "$value\n";
}
Run Code Online (Sandbox Code Playgroud)
结果:
1
2
3
Run Code Online (Sandbox Code Playgroud)
但我可以使用数组做同样的事情.我仍然可以保持与早期版本的PHP兼容.
看看:
// Compatible with 4.4.9!
function gen_one_to_three() {
$results = array();
for ($i = 1; $i <= 3; $i++) {
$results[] = …Run Code Online (Sandbox Code Playgroud) 我使用以下代码来回显数组中的最小值:
$array = [
['a' => 0, 'f' => 0, 'l' => 61.60],
['a' => 38, 'f' => 0, 'l' => 11.99],
['a' => 28, 'f' => 0, 'l' => 3.40],
];
$min = min(array_column($array, 'a'));
echo $min;
Run Code Online (Sandbox Code Playgroud)
现在我想0从结果中排除,我知道我可以使用它array_filter()来实现这一点,但是我需要处理数组两次吗?