Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sumowanie różnej liczby tablic
Forum PHP.pl > Forum > PHP
menic
Mam sprory (jak dla mnie winksmiley.jpg ) problem :|
Mam tablice wielowymiarowe
$a[1][3] = 5;
$a[1][4] = 2;
$a[1][7] = 6;
$a[3][9] = 1;
$a[3][3] = 3;

Pierwszy index jest to ID forum, a drugi jest niepotrzebny/nieważny winksmiley.jpg
I teraz chcę zsumować tylko te których pierwsze indexy są takie same.
Czyli
$a[1][3] + $a[1][4] + $a[1][7]
oraz
$a[3][9] + $a[3][3]
Aby to jeszcze utrudnić to wszystko musi sie znajdować w pętli, która pobiera rekordy z bazy danych. Czyli dla forum o ID 1 chcę zsumować tablice z indexem $a[1][x]. Prosze pomóżcie bo przez to stoi mi cała robota przy forum winksmiley.jpg A to jest część oznaczania postów na stronie głównej bo chcę zrobić to dokładnie, a nie jak to jest w phpBB lub IPB, gdzie trochę są przekłamania winksmiley.jpg
scanner
Może tak ?[php:1:f708e8dd2c]<?php
$intArraySum[$intIndex] = array_sum($a[$intIndex][]);
?>[/php:1:f708e8dd2c]Jakie przekłamania na phpBB masz na mysli?
menic
Bo o iles ię nie mylę to na stronie głównej to pokazywanie na stronie główej odbywa sie inaczej niż na tej z forami. I zlicza to chyba na pdst. czasu czy coś podobnego. Tak czy owak trochę oszukuje tongue.gif

A co do kodu to zaraz sprawdzę smile.gif
menic
Przedstawie jeszcz raz. Może ktoś w końcu pomoże smile.gif
To o co się toczy sprawa jest mi potrzebne do forum do sygnalizowania nowych postów na forum. Tablica $a[x][x] jest przechowywana nie w bazie danych tylko w sesji. I jak pisałem pierwszy index jest to ID forum. I teraz sprawa wygląda tak. Chcę aby przy każdej wykonanej pętli sumował tylko te tablice których pierwszy index jest równy ID forum. Np. Jeżeli forum ma ID 2 to żeby zsumował tylko tablice $a[2][x]. Jeżeli forum ma ID 99 to tablice $a[99][x] itd.
Już bardziej chyba szczegółowo nie dam rady opisać. Mam nadzieję że uda się cos wymyślić bo mam duże plany co do tego systemu biggrin.gif
scanner
Cytat
Przedstawie jeszcz raz. Może ktoś w końcu pomoże
A to co Ci podałem nie działa? Powinno. Nieważnie gdzie masz tablicę. Ważne że wiesz, jak się nazywa i jakie pola trzyma.
Sprawdzałeś metodę, którą Ci podałem, czy nie? Jeśli tak, to jakie rezultaty? Pokaż jakąś tabelkę z wynikami...
F**k... czy Was zawsze o każdą informacje trzeba prosić?
menic
To nie działa co podałeś. Wogle wywala błąd że coś nie tak. Zaraz sprawdze co to dokładnie bylo...
[edit]
I tak. jeżeli wstawiłem to co pisałeś to wyskakuje błąd:
Fatal error: Cannot use [] for reading in c:wwwmboardindex.php on line 83

No to usunąłem te puste nawiasy i znowu błąd:
Warning: The argument to array_sum() should be an array in c:wwwmboardindex.php on line 83

Wydaje mi sie że nie może być [ ] w array_sum() ale nie jestem pewnien :|
W manualu na ten temat nic nie pisze :|
Cudi
Głupie pytanie:

A przypisałeś jakąś wartość zmiennej $intIndex ?
menic
TAK tongue.gif
Cudi
To przepraszam za głupie pytanie, ale jakoś podejrzanie ten błąd wyglądał smile.gif Pozatym myslałem że chodzi o inne [] smile.gif

U mnie taki kod działa i wyświetla prawdiłową sume ($i to ID forum z którego sumujesz smile.gif )
[php:1:80ecaba2ec]<?php
$a[1][3] = 5;
$a[1][4] = 2;
$a[1][7] = 6;
$a[3][9] = 1;
$a[3][3] = 3;

$i = 1;

echo array_sum($a[$i]);
?>[/php:1:80ecaba2ec]
scanner
No dobra, przesadziłem o dwa znaki smile.gif Co nie zmienia sytuacji, że naprowadzony na drogę powinieneś sam pokombinować.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.