Muhammad Dyas Yaskur
Muhammad Dyas Yaskur

Reputation: 8098

If value between array key

Example i have this array:

$ar = array(
    "1.00" => array("value0"," very bad"),
    "1.49" => array("value1","bad"),
    "2.00" => array("value2","not bad"),
    "2.49" => array("value3","normal"),
    "3.00" => array("value4","good"),
    "3.49" => array("value5","very good")
 );

I want to check if $val is under 1.00 the $result is array("value0"," very bad"). if between range 1.00 - 1,49 the result is array("value1","bad"), etc. Anyone can help me?

Upvotes: 1

Views: 48

Answers (2)

Loïc
Loïc

Reputation: 11943

$val = '2.15';
$val_data = ['value2','not bad'];

$data = array(
    "1.00" => array("value0"," very bad"),
    "1.49" => array("value1","bad"),
    "2.00" => array("value2","not bad"),
    "2.49" => array("value3","normal"),
    "3.00" => array("value4","good"),
    "3.49" => array("value5","very good")
);

$_fkey = array_keys($data)[0];
foreach($data as $key => $value){
    if($key > $_fkey && $key < $val){$_fkey = $key;}
}

echo "$val, $val_data\n";
echo "=> $f_key, " . $data[$f_key] . "\n";

Upvotes: 0

sdespont
sdespont

Reputation: 14025

Here is a hint :

<?php

$ar = array(
    "1.00" => array("value0"," very bad"),
    "1.49" => array("value1","bad"),
    "2.00" => array("value2","not bad"),
    "2.49" => array("value3","normal"),
    "3.00" => array("value4","good"),
    "3.49" => array("value5","very good")
 );


$input = 1.2;

foreach($ar as $key=>$text)
{
  if($input < floatval($key))
    {
      echo $text[0].' => '.$text[1];
      break;
    }
}

?>

Upvotes: 1

Related Questions