如果在阵列中?

时间:2011-09-02 15:24:35

标签: php arrays foreach

真的挣扎着这个:

我有一个现有的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++;
}

我想做的是,如果$ count的值在一个名为$ array_to_round的静态数组中,那么$data_row[] = round((float)$datacolvalue, 2);是这样的(看起来像这样)(每次运行php时值都不同:< / p>

阵列(12,34,56,78);

我虽然在“其他”情况下添加了一个foreach但是我无法理解它。答案是for / while / loop吗?

简而言之,对于每个$ datacolvalue,如果$ count是(&gt; 4)和(&lt; 10)OR存在于数组中的$ array_to_round数组中,则为int和round,否则,将其作为字符串放置

1 个答案:

答案 0 :(得分:4)

使用in_array检查另一个数组中是否存在该值,然后根据需要添加它,

如果您计划将其用作支票和设定器,我还会存储舍入值。