簡體   English   中英

對於每個循環,大於20的循環到另一個數組中

[英]For-each loop, larger than 20 into another array

我堅持這項運動,似乎一生都無法獲得。

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

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

到目前為止,這就是我的代碼。 我在這里想要做的是使用for-each循環將大於20的所有數字添加到另一個名為$ largeNumbers的數組中。 我上面插入的代碼似乎正在打印true和false值,這不是我想要的。 我真的很感激有人可以告訴我我可能做錯了什么,或者向我展示一種更好的方法。 我必須使用for-each循環。

對於每個項目,您要檢查它是否大於20,這會導致布爾值(它是或不是),然后將該值存儲到結果數組。 相反,您可以使用if語句`僅接受滿足條件的元素:

foreach ($numbers2 as &$value) {
    if ($value > 20) {
        $largeNumbers[] = $value;
    }
}
<?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);

輸出:

array ( 0 => 21, 4 => 76, 7 => 85, 8 => 55, )
<?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, )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM