![](/img/trans.png)
[英]Loop thru an array and insert into or update a column based on empty values in the column - MySQL
[英]loop thru array and group values into 4 arrays based on the values
我需要將數組結果分組為 4 個新數組。 嘗試將每個結果分組到適當的數組中,例如: top 25% mid-top 25% mid-low 25% low 25%
這行不通,但這就是為什么我要問如何去做。
$top = "70000";
$mid = "40000";
$low = "25000";
$resultsarray = array(100000,75000,55000,50000,20000,5000);
echo "Top 25%:";
foreach ($resultsarray as $value) {
if($value >= $top){
echo $value;
}
}
echo "Mid Top 25%:";
foreach ($resultsarray as $value) {
if($value >= $mid && $value < $top){
echo $value;
}
}
等等...
array_filter
將根據您提供的標准為您提供一個較小的數組。
$top = "70000";
$mid = "40000";
$low = "25000";
$resultsArray = array(100000,75000,55000,50000,20000,5000);
$top25 = array_filter($resultsArray, function ($value) use ($top) {
return $value >= $top;
});
$midTop25 = array_filter($resultsArray, function ($value) use ($top, $mid) {
return $value >= $mid && $value < $top;
});
$midLow25 = array_filter($resultsArray, function ($value) use ($mid, $low) {
return $value > $low && $value < $mid;
});
$low25 = array_filter($resultsArray, function ($value) use ($low) {
return $value <= $low;
});
function printNums(array $arr)
{
return array_reduce($arr, function ($carry, $number) {
return $carry .= $number .= " ";
});
}
printf("Top 25%%: %s\n", printNums($top25));
printf("Mid-Top 25%%: %s\n", printNums($midTop25));
printf("Mid-Low 25%%: %s\n", printNums($midLow25));
printf("Low 25%%: %s\n", printNums($low25));
在https://3v4l.org/mGMOV 上查看它的實際效果
用$resultsarray
替換$numbers
。 在您之前的代碼中, $numbers
數組不存在。
如果這為您解決了問題,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.