Как посчитать сумму всех чисел в текстовом файле. PHP

12
bums
На сайте с 03.07.2006
Offline
449
#11

Нудно, с предопределением и проверками

<?php

$f = './summm.txt';
$a = null;
$summ = 0;
if(is_file($f)) {
$a = file($f);
}
if(is_array($a)) {
$summ = array_sum($a);
}
echo $summ; //2770.5
?>
или коротко, в одну строку :)
<?=@array_sum(file('./summm.txt'))?>
Недорогая регистрация и продление доменов RU/SU/РФ/COM/NET/ORG/и т.д. ( https://www.regnic.name/?sesign ) в РЕГРУ, РЕГТАЙМ, Р01, РУЦЕНТР. А так же хостинг и SSL сертификаты.
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#12

лучше добавить пару проверок всё таки:

<?=@array_sum(file('./summm.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES))?>

спокойнее на душе будет :)

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
iqmaker
На сайте с 17.04.2012
Offline
342
#13

bums, вот это хорошее решение, array_sum делает все за нас.

Но python по скорости победил 🤪

хотя и не принципиально (10^7 строк):

time php p2.php 
4999289,7051739
real 0m6.971s
user 0m5.128s
sys 0m0.668s

time python p.py 
4999289.70517

real 0m3.967s
user 0m3.644s
sys 0m0.196s

На си


time a.out
4999289.705174
real 0m1.889s
user 0m1.836s
sys 0m0.036s

не ради холивара просто любопытно было.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий