PHP上的Count元素或Sum元素

时间:2019-02-21 12:34:13

标签: php count sum element

我有这个TXT文件

Jose,Manuel
Maria,Antonia
Petra,Guzman
Josefa,Perdomo

等...

这个脚本

<?
        $lines = file("./lista.txt") or die("No encuentro BD!");
        $url_letra="a";
        foreach($lines as $line_num => $line){
        if(strpos($line,",")==0){
            $obser=$line;
        }else{
            $datos = explode(",", $line);
            $url_bd=$url_letra."|".$datos[1];
            echo count($datos[1]);
        }
    }?>

此脚本打印“ 1111”,但我需要count元素或sum元素。对我来说正确的答案是4是我的计数元素。可以帮助获取这个数字4. Thx

4 个答案:

答案 0 :(得分:0)

创建一个计数器,并在需要时增加它:

$count = 0;
foreach($lines as $line_num => $line){
    if(strpos($line,",")==0){
        $obser=$line;
    }else{
        $datos = explode(",", $line);
        $url_bd=$url_letra."|".$datos[1];
        $count++;
    }
}
echo $count;

答案 1 :(得分:0)

您可以使用count函数对数组中的元素进行计数。您将获得所有行(CSV)并将其展开为数组,然后可以使用count对数组中的所有元素进行计数。 (您也有5个元素而不是4个)。

我更新了您的代码,请进行测试并告知我。希望对您有所帮助。

<?php
 $lines = file("./lista.txt") or die("No encuentro BD!");
 $total = 0;      

    foreach($lines as $line_num => $line){
       $datos = explode(",", $line);
       $url_bd=$url_letra."|".$datos[1];

       $total += count($datos[1]);
    }

print "Total: $total ";

?>

答案 2 :(得分:0)

更改此行代码,您一切顺利。 在您的代码中,您打印的所有行都不会像这样。 要获得数字,代码行count(file("./lista.txt"));应该起作用。

...
$count = 0
if(strpos($line,",")==0){
  $obser=$line;
}else{
  $datos = explode(",", $line);
  $url_bd=$url_letra."|".$datos[1];

  $count += count($datos[1]);
}
echo $count;
...

答案 3 :(得分:0)

更改为

<?
    $lines = file("./lista.txt") or die("No encuentro BD!");
    $url_letra="a";
    foreach($lines as $line_num => $line){
     if(strpos($line,",")==0){
        $obser=$line;
     }else{
        $datos = explode(",", $line);
        $url_bd=$url_letra."|".$datos[1];
        $result += count($datos[1]);
     }

   }
   echo $result;

?>