【发布时间】:2021-06-04 16:17:45
【问题描述】:
我有两个变量,number 和 user,它们不是固定的。当我遍历下面的数组时,如何确定是否满足数量和用户条件以获取适当的 ID
示例:
如果amount的值为100,user的值为6,则得到的ID为1;
如果amount的值为50000,user的值为10,则得到的ID也是1;
如果amount的值为50000,user的值为12,则得到的ID也是2;
为什么我总是得到 1?
$amount = 10000;
$user = 12;
$id = null;
foreach ($array as $item) {
if ($amount >= $item['value']['amount']['min'] && $user >= $item['value']['user']['min']) {
$id = $item['id'];
break;
}
}
echo $id;
数组如下:
$array = [
[
'id' => 1,
'value' => [
'amount' => [
'min' => 100,
'max' => 9999
],
'user' => [
'min' => 5,
'max' => 10
],
'ratio' => 10
]
],
[
'id' => 2,
'value' => [
'amount' => [
'min' => 10000,
'max' => 49999
],
'user' => [
'min' => 11,
'max' => 30
],
'ratio' => 30
]
],
[
'id' => 3,
'value' => [
'amount' => [
'min' => 50000,
],
'user' => [
'min' => 50,
],
'ratio' => 35
]
]
];
【问题讨论】:
-
这个条件怎么返回1?如果amount的值为20000,user的值为10,则得到的ID也是1;
-
@TamilSelvanC 对不起,这是一个错误。它实际上应该返回 0
-
您需要检查金额在金额的最小值和最大值之间以及用户在用户的最小值和最大值之间。例如:
($min <= $value) && ($value <= $max)
标签: php