Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] zliczanie elementów w tabliwy wielowymiarowej
czaro123
post 14.02.2014, 15:29:34
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 20.01.2014

Ostrzeżenie: (0%)
-----


Witam,
kod poniżej:
  1. $aaa = array('dom'=> array(0.34, 0.42, 0.75), 'mod' => array(2,3,4,5,6), 'odm' => array(4,2));
  2.  
  3. $gg = count($aaa, COUNT_RECURSIVE);
  4. print_r($gg);
  5.  
  6. $aae = count($aaa);
  7.  
  8. foreach($aaa as $key => $war){
  9. $aad = array();
  10. for ($i=0; $i<$aae; $i++){
  11. $aad[$key][] = count($aaa[$i]);
  12. }
  13. }
  14.  


wiersz 4 oblicza ilość argumentów w całej tablicy $aaa, wiersz 6 wyświetla ilość tablic zagnieżdżonych w $aaa. wiersze 8-13 to moja próba zliczania argumentów wewnątrz poszczególnych tablic tzn chciałbym dostać wynik $aad = array (dom => 3, mod => 5, odm =>2) ale wyświetla mi się niezdefiniowany offset w wierszu 11. czy mgółbym prosić o wskazanie błędu? z góry dziękuję
Go to the top of the page
+Quote Post
chmiello
post 14.02.2014, 15:58:19
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 5
Dołączył: 12.07.2010

Ostrzeżenie: (0%)
-----


Odwołujesz się do elementów które nie istnieją - ten for jest tam niepotrzebny. Sam zobacz:


  1. $aaa = array('dom'=> array(0.34, 0.42, 0.75), 'mod' => array(2,3,4,5,6), 'odm' => array(4,2));
  2.  
  3. $gg = count($aaa, COUNT_RECURSIVE);
  4. print_r($gg);
  5.  
  6. $aae = count($aaa);
  7. $aad = array();
  8. foreach($aaa as $key => $war){
  9.  
  10. $aad[$key] = count($aaa[$key]);
  11.  
  12. }
  13. echo '<pre>';
  14. print_r($aad);
Go to the top of the page
+Quote Post
czaro123
post 14.02.2014, 16:09:51
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 20.01.2014

Ostrzeżenie: (0%)
-----


wielkie dzięki, taka prościzna a człowiek traci nerwy smile.gif a jeśli chciałbym np do każdego elementu z tablicy $aaa dodać np 3 to jak to zapisać w wierszu wewnątrz pętli foreach?
jeśli zapiszę w ten sposób:
  1. foreach($aaa as $key => $war){
  2. $aas[$key] = $aaa[$key] + 3;
  3. }

to mam "Unsupported operand types" a jeśli w ten:
  1. $aae = count($aaa);
  2. foreach($aaa as $key => $war){
  3. $aad = array();
  4. for ($i=0; $i<$aae; $i++){
  5. $aad[$key][] = $aaa[$i] + 3;
  6. }
  7. }
  8.  

to podpowiada mi że nie zdefiniowałem offsetu
Go to the top of the page
+Quote Post
chmiello
post 14.02.2014, 16:34:19
Post #4





Grupa: Zarejestrowani
Postów: 33
Pomógł: 5
Dołączył: 12.07.2010

Ostrzeżenie: (0%)
-----


Do czegoś takiego najłatwiej będzie użyć operatora & - czyli referencji - dzięki temu możesz edytować wartość konkretnego elementu tablicy, to jest chyba najszybsze rozwiązanie


  1. foreach($aaa as &$war){
  2.  
  3. foreach($war as &$one){
  4. $one += 3;
  5. }
  6.  
  7. }
Go to the top of the page
+Quote Post
czaro123
post 14.02.2014, 16:42:45
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 20.01.2014

Ostrzeżenie: (0%)
-----


dziękuję
Go to the top of the page
+Quote Post
StevDefs
post 26.08.2019, 14:38:14
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 22.08.2019

Ostrzeżenie: (10%)
X----


Fedex Pyridium Cod Low Price With Overnight Delivery Cialis Ou Autre Produit generic levitra for sale For Sale Hydrochlorothiazide Secure Nausea And Amoxicillin

Buy Tamoxifen Research Chemical Canadian Internet Pharmacies Misoprostol Cytotec Prix generic cialis Cialis Generico Acquisto Sicuro Tabletas Propecia Finasteride

Levitra Natur order cialis online Como Usar Propecia

Citalopram Online Levitra Packungsgro?Enverordnung buy viagra Viagra Versand Packstation
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 14:44