Я хочу создать условие из следующего массива, но он не дает ожидаемого результата, потому что он не запускает второе условие.
$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:26
];
return $arr;
},
[]
);
print_r ($ total) выдает следующее:
Array
(
[472] => Array
(
[totalc] => 243.65
[condition] => 1
)
[505] => Array
(
[totalc] => 189.225
[condition] => 1
)
)
Мой ожидаемый результат следующий:
Array
(
[472] => Array
(
[totalc] => 243.65
[condition] => 1
)
[505] => Array
(
[totalc] => 189.225
[condition] =>
)
)
Вы можете ясно видеть, что я хочу проверить: когда это 'SC', я хочу, чтобы минимальное условие было 23.Но для других я хочу, чтобы минимальное значение было равно 26. Поэтому я использовал array_search () для сканирования массива, когда элементом является «SC».К сожалению, он проверяет только «SC», а не другие.Пожалуйста, помогите мне.