Действительно борется с этим:
У меня есть существующий foreach, содержащий цикл if для поиска определенных значений. Но у меня также есть массив, содержащий значения, которые в случае обнаружения должны выполнять те же действия, что и конкретные значения:
Здесь я перебираю циклы и, когда значения находятся в диапазоне от 5 до 9, я беру значение $ datacolvalue и добавляю его в другой массив как целое число, округленное до 2 десятичных знаков.
В противном случае, добавить его в виде строки, нетронутой.
$data_row = array();
$count = 1;
foreach ($row->COLUMN as $datacolvalue){
if($count > 4 && $count < 10)
$data_row[] = round((float)$datacolvalue, 2);
else
$data_row[] = (string)$datacolvalue;
$count++;
}
Что я хочу сделать, это сделать то же самое $data_row[] = round((float)$datacolvalue, 2);
, если значение $ count находится в статическом массиве с именем $ array_to_round, который выглядит следующим образом (значения меняются каждый раз при запуске php:
массив (12,34,56,78);
Я, хотя и добавляю foreach в условие "else", но не могу разобраться с этим. Является ли for / while / loop ответом?
В двух словах, для каждого значения $ datacolval, если $ count равен (> 4) и (<10) ИЛИ присутствует в массиве $ array_to_round в массиве как int и round, в противном случае поместите его в виде строки. </p>