Если есть в массиве? - PullRequest
       5

Если есть в массиве?

1 голос
/ 02 сентября 2011

Действительно борется с этим:

У меня есть существующий 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>

1 Ответ

4 голосов
/ 02 сентября 2011

Используйте in_array, чтобы проверить, существует ли значение в другом массиве, затем добавьте его при необходимости,

Я бы также сохранил округленное значение, если вы планируете использовать его какчек и сеттер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...