【发布时间】:2014-03-19 13:00:50
【问题描述】:
我有以下数组和一个数字$num,我正在尝试检查每个元素的$num 是否等于或在from 和to 的范围内。如果条件为真,则应返回该数组的对应或键,并停止进一步比较。我可以使用array_walk 实现这一点,但无法停止进一步比较
Array
(
[_1395216158966_966] => Array
(
[from] => 1
[to] => 3
[rate] => 10
)
[_1395216219094_94] => Array
(
[from] => 3
[to] => 6
[rate] => 15
)
[_1395216219662_662] => Array
(
[from] => 6
[to] => 9
[rate] => 20
)
)
当前代码
array_walk($data, array($this, 'CalculateWeightCharge'), $weight)
public function CalculateWeightCharge($data, $needle, $num)
{
if($num >= $data['from'] && $num <= $data['to']){
return true;
}
}
【问题讨论】:
-
你必须使用
array_filter -
你当前的代码是什么?
-
@AlmaDo 检查当前代码
-
@hindmost 你的建议不错,但是我怎么传号???
-
@DepH 由
use构造 (php.net/manual/en/functions.anonymous.php)
标签: php arrays multidimensional-array callback compare