相关疑难解决方法(0)

生成器和数组有什么区别?

今天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)

php arrays iterator generator

37
推荐指数
3
解决办法
8203
查看次数

查找二维数组的列中不为零的最小值

我使用以下代码来回显数组中的最小值:

$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()来实现这一点,但是我需要处理数组两次吗?

php arrays filtering min array-column

1
推荐指数
1
解决办法
5479
查看次数

标签 统计

arrays ×2

php ×2

array-column ×1

filtering ×1

generator ×1

iterator ×1

min ×1