PHP 上的元素计数或求和元素

Count Element or Sum Element on PHP

我有这个 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”,但我需要计数元素或求和元素。对我来说,正确答案是 4 是我计算的元素。可以帮助获得这个数字 4。谢谢

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

$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;

您可以使用计数函数对数组中的元素进行计数。您正在获取所有行 (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 ";

?>

更改这行代码,您就可以开始了。 在您的代码中,您打印了所有不喜欢的行。 要获取数字,代码行 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;
...

改为

<?
    $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;

?>