Как проверить минимальное значение в массиве php с несколькими условиями.Мой массив ниже:
$arr = [[472 =>['EL' => 52.9,'MT' => 57.375 'MO' => 56.6,'SC' => 26,'ET' => 50.775]],
[505 =>['EL' => 53.425,'MT' => 25,'MO' => 62.8,'SC' => 23,'ET' => 25]]];
$total = array_reduce(
$arr,
function($arr, $key) {
$id = key($key);
$consumed = $key[$id];
$sc = array_keys($consumed);
$arr[$id] = [
"totalc" => array_sum($consumed),
"condition" => array_search('SC', $sc) ? min($consumed) >= 23:min($consumed) >=26
];
return $arr;
},
[]
);
Если ключом является «SC», минимальное значение для «SC» равно 23, но для значения другого ключа минимальное значение равно 26. Поэтому приведенный выше код долженсоздайте следующий вывод:
Array
(
[472] => Array
(
[totalc] => 243.65
[condition] => 1
)
[505] => Array
(
[totalc] => 189.225
[condition] =>
)
)
Ключ SC
в массиве ([472] и [505]) соответствует минимальному условию 23, но значение ключа ET
не соответствуетминимальное условие 26. Поэтому массив [505] должен выдавать false
по значению condition
key.Но если мы изменим значение ET
на 26 или более в массиве [505], мы все равно получим значение false
.Но правильное значение должно быть 1
или true
.Таким образом, если массив выглядит следующим образом:
$arr = [[472 =>['EL' => 52.9,'MT' => 57.375 'MO' => 56.6,'SC' => 26,'ET' => 50.775]],
[505 =>['EL' => 53.425,'MT' => 25,'MO' => 62.8,'SC' => 23,'ET' => 26]]];
Правильный вывод будет:
Array
(
[472] => Array
(
[totalc] => 243.65
[condition] => 1
)
[505] => Array
(
[totalc] => 189.225
[condition] => 1
)
)
Короче, минимальное значение 'SC' должно быть 23, а значение mim равнодругих КЛЮЧЕЙ (EL, MT, MO, ET) должно быть 26. Я пытался решить эту проблему почти два дня и две ночи, она все еще не работает.Так что, если бы вы могли мне помочь, я был бы очень признателен.Спасибо