Подсчет и итоги - PullRequest
       6

Подсчет и итоги

2 голосов
/ 07 декабря 2011

У меня есть список номеров, которые вводятся пользователями.Я хочу посчитать их и получить:

  1. Промежуточные итоги для каждого числа (возможны только цифры 1, 2, 3, 4, 5) и
  2. всего введенных чисел.

См .:

// Outputs the numbers , " 1 4 1 1 5  " 
// for example (no commas, order is as inputed by user)
echo $a;

# 1:

if ($a == "1"){
    $b++;

    // Outputs the actual count but in steps, 
    // say there are 3 "1" then it outputs: 1 2 3 , 
    // but I only want the 3. 
    echo $b;
}

Как перезаписать инкрементную переменную?Тогда у меня есть то, что я хочу, или я ошибаюсь.Есть ли лучший / более чистый подход?

# 2:

// outputs only a bunch of 11111 
// (the right amount if i add them up)
echo count($a);

// outputs also a bunch of 111111
print strlen($a);

Любой другой способ подсчитать и получить итоговую сумму (не сумму, а введенную сумму)цифры)?

Я пытался понять это в течение нескольких дней.Очевидно, я новичок, и я хотел бы понять.Я проверил около 5 книг php и онлайн-руководство php.Буду признателен, если кто-нибудь сможет привести меня в правильном направлении.Пожалуйста:)

1 Ответ

3 голосов
/ 07 декабря 2011

Это будет делать то, что вы запрашиваете. Он разбивает числа в массив, использует array_sum для подсчета всех элементов, а затем использует размер массива для подсчета общего количества элементов. Он также использует обрезку для очистки любых пробелов, которые мог ввести пользователь.

$split_numbers = explode(' ',trim($a));
$total_added = array_sum($split_numbers);
$total_numbers = sizeof($split_numbers);

Вы можете увидеть этот код в действии здесь .

...