Подсчитать элемент или элемент суммы на PHP - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть этот 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или элемент суммы.Для меня правильный ответ - это 4 элемента.Может помочь получить этот номер 4. Thx

Ответы [ 4 ]

0 голосов
/ 21 февраля 2019

Изменить на

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

?>

0 голосов
/ 21 февраля 2019

Вы можете сосчитать элементы в массиве, используя функцию 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 ";

?>
0 голосов
/ 21 февраля 2019

Измените эту строку кода, и все готово.В вашем коде вы печатаете всю строку, а не как-то.Для получения чисел строки кода 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;
...
0 голосов
/ 21 февраля 2019

Создайте счетчик и увеличьте его при необходимости:

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