找到数组值并进行比较?

时间:2010-11-04 15:34:28

标签: php arrays

ha15rs,250,home2.gif,2
ha36gs,150,home3.gif,1
ha27se,300,home4.gif,4
ha4678,200,home5.gif,5

当我将此文本文件转换为数组$ handle时,如何测试第二个字段(250,150,300,200)

我想检查它是否低于100,如果是则显示行!!

if $secondfield < 100

then echo 

我怎么能操作数组才能在php中做到这一点谢谢?

4 个答案:

答案 0 :(得分:1)

我假设您将文件中的每一行都作为数组中的元素。在那种情况下:

$data = array_map(function($e){ return explode(',', $e); }, $array);
$desiredData = array_filter(function($e){ return $e[1] < 100; }, $data);

答案 1 :(得分:1)

简单..

$h = file("file_name");

for ($x = 0; $x < count($h); $x++)
{
   $a = explode(",", $h[$x]);
   if ($a[1] < 100)
        echo $h[$x];
}

答案 2 :(得分:0)

爆炸每个字符串,因此您有四个数组:

foreach($strings as $string){
  $arr = expode(',', $string);

  if( intval($arr[1]) < 100 ){
    echo $string;
  }
}

答案 3 :(得分:0)

假设你有一个csv(我复制并修改了php manual中的一些代码):

if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($line = fgets($handle)) !== FALSE) {
        $data = str_getcsv($line);
        if ($data[1] < 100)
            echo $line;
    }
    fclose($handle);
}