Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] działania na tablicach
Forum PHP.pl > Forum > Przedszkole
czaro123
Witam,
kod:
  1. $aaa = array("czerwony" => 0.47, "niebieski" => 0.52, "bialy" =>0.64);
  2. $bbb = array("czerwony" => 1.34, "niebieski" => 1.62, "bialy" =>1.96);
  3.  
  4. $c = count($aaa);
  5.  
  6. foreach ($aaa as $klucz1 => $war1){
  7. $odejmowanie = array();
  8. for ($i1=0; $i1<$c; $i1++){
  9. $odejmowanie[]= $bbb[$i1] - $aaa[$i1];
  10. }
  11. }
  12. print_r($odejmowanie);


powyżej są dwie tablice których klucze są takie same. chciałbym odjąć wartości tablicy $aaa od $bbb. wynikiem powinna być tablica $odejmowanie. niestety po wyświetleniu wyniku jest informacja iż niezdefiniowałem offsetu. przejrzałem manual ale nie znalazłem podobnego przykładu. czy mógłbym prosić o podanie linku do podobnego przypadku bądź wskazanie co robię źle w wierszu $odejmowanie[] = .... z góry dziękuję
nospor
A po co ci ten FOR w tym FOREACH?? Przecie juz FOREACH leci po elementach. FOR juz do niczego ci nie potrzeby... FOREACH daje ci wszystko co potrzebujesz
radiopraca
  1. $aaa = array("czerwony" => 0.47, "niebieski" => 0.52, "bialy" =>0.64);
  2. $bbb = array("czerwony" => 1.34, "niebieski" => 1.62, "bialy" =>1.96);
  3.  
  4. $ccc = array();
  5. foreach ($aaa as $key => $value) {
  6. if (isset($bbb[key])) {
  7. $ccc[$key] = $bbb[key] - $value;
  8. }
  9. }
  10.  
  11. echo '<pre>';
  12. print_r($ccc);
  13. echo '</pre>';
czaro123
FOR umieściłem aby w przyszłości, gdy będę potrzebował przeprowadzić działania na takich tablicach, chciał stworzyć tablicę z mniejszą ilością elementów niż $aaa czy $bbb (dodając część $aaa do części $bbb). bez tego FOR zawracałbym Wam głowę kilka razy a tak wystarczy raz:)
nospor
Poprzednik podal rozwiazanie.
Po co ci ten FOR to nadal nie kumam.... Moze wpierw opanuj podstawowe chwyty, potem bierz sie za kombinowanie
czaro123
ok, dziękuję
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.