for-each循环,大于20到另一个数组

时间:2017-10-02 21:59:09

标签: php loops

我坚持这项运动,我似乎无法为我的生活而努力。

$numbers2 = [21, 5, 4, 6, 76, 2, 18, 85, 55, 1];

foreach ($numbers2 as &$value) {
    $largeNumbers[] = $value > 20;
} 

这是我到目前为止的代码。我在这里尝试做的是使用for-each循环将所有大于20的数字添加到另一个数组中,我将其命名为$ largeNumbers。我上面插入的代码似乎是打印出真值和假值,这不是我想要的。我真的很感激有人可以告诉我,我可能做错了什么,甚至告诉我一个更好的方法。 我必须使用for-each循环。

3 个答案:

答案 0 :(得分:4)

对于每个项目,您正在检查它是否大于20,这会产生一个布尔值(它是否为),然后将该值存储到结果数组中。相反,您可以使用if语句来仅采用符合条件的元素:

foreach ($numbers2 as &$value) {
    if ($value > 20) {
        $largeNumbers[] = $value;
    }
}

答案 1 :(得分:1)

public interface IOnBackPressed {
    /**
     * Si vous retouné true le back press ne sera pas pris en compte, sinon l'activité agira naturellement
     * @return true si votre traitement est prioritaire sinon false
     */
    boolean onBackPressed();
}

输出:

<?php
$nums = [21, 5, 4, 6, 76, 2, 18, 85, 55, 1];

$less_than_or_equal_to_20 = [];    
foreach($nums as $v)
    if($v <= 20)
        $less_than_or_equal_to_20[] = $v;

$out = array_diff($nums, $less_than_or_equal_to_20);
var_export($out);

答案 2 :(得分:0)

<?php
$nums = [21, 5, 4, 6, 76, 2, 18, 85, 55, 1];

foreach([$nums] as $v)
    $out = array_filter($v, function($v) {
        return $v > 20; 
    });

var_export($out);

输出:

array ( 0 => 21, 4 => 76, 7 => 85, 8 => 55, )