有一個陣列:PHP函數如果數屬於區間
$bounds = array([0]=>array('lower'=>2,'upper'=>5),
[1]=>array('lower'=>0,'upper'=>3));
和可變:
$val = 4;
是否有任何PHP函數,可以說$val
是否屬於任何區間由$bounds
數組中的'lower'和'upper'邊界定義?在這個例子中,4屬於第一區間[2; 5]。所以,答案應該是「真實的」。
有一個陣列:PHP函數如果數屬於區間
$bounds = array([0]=>array('lower'=>2,'upper'=>5),
[1]=>array('lower'=>0,'upper'=>3));
和可變:
$val = 4;
是否有任何PHP函數,可以說$val
是否屬於任何區間由$bounds
數組中的'lower'和'upper'邊界定義?在這個例子中,4屬於第一區間[2; 5]。所以,答案應該是「真實的」。
我不知道任何。你可能需要編碼。像這樣的事情會做:
function isFromInterval($bounds, $val) {
foreach ($bounds as $value) {
if ($val >= $value['lower'] && $val <= $value['upper']) {
return true;
}
}
return false;
}
號
你將不得不作出一個循環這樣
$val = 4;
$key_id = FALSE;
foreach($bounds as $key => $data){
if($val <= $data['upper'] AND $val >= $data['lower']){
$key_id = $key;
break;
}
}
if($key_id !== FALSE){
// found something
// $bounds[$key_id] is your result in the array
} else {
// found nothing
}
其功能
function find_range($bounds=array(), $val=0, $return_key=TRUE){
if(is_array($bounds) === FALSE){
$bounds = array();
}
if(is_numeric($val) === FALSE){
$val = 0;
}
if(is_bool($return_key) === FALSE){
$return_key = TRUE;
}
$key_id = FALSE;
foreach($bounds as $key => $data){
if($val < $data['upper'] AND $val > $data['lower']){
$key_id = $key;
break;
}
}
if($key_id !== FALSE){
return ($return_key === TRUE ? $key_id : TRUE);
} else {
return FALSE;
}
}
沒有數組,但你可以這樣做:
$bounds = array(3=>array('lower'=>2,'upper'=>5),
4=>array('lower'=>0,'upper'=>3));
$val = 4;
foreach($bounds as $num => $bound){
if(max($bound) >= $val && $val >= min($bound)){
echo $num;
}
}
是。 '> ='和'<='。 – Tchoupi