Avatar billede mikkel_breum Nybegynder
18. marts 2006 - 17:40 Der er 6 kommentarer og
1 løsning

simpelt array spørgsmåæ

hej

hvordan kan man i php lave et array hvor hver værdi er summen af to værdier fra to andre arrays; dvs såleds:

jeg har:
$a = [0,0,3,3,0,0,0,0,2,2,2,1]
$b = [1,0,3,0,0,0,1,1,1,1,0,0]

og vil gerne vide hvordan jeg kan lægge hver værdi fra $a og $b sammen så jeg får:

$c = [1,0,6,3,0,0,1,1,3,3,2,1]

--
Mikkel
Avatar billede pidgeot Nybegynder
18. marts 2006 - 17:43 #1
Prøv det her:

$c=Array();
for ($i=0;$i<count($a);$i)
{
  $c[]=$a[$i]+$b[$i];
}
Avatar billede krukken Juniormester
18. marts 2006 - 17:45 #2
for($i = 0; sizeof($a) < $i; $i++)
{
$c[i] = $b[i] + $a[i];
}

Det er ikke lige testet med er det ikke det du mener?
Avatar billede mikkel_breum Nybegynder
18. marts 2006 - 17:47 #3
ok, tak det giver jeg selvfølgelig også gerne point for, men det kunne jeg godt have regnet ud, men det burde jeg selvfølgelig have skrevet, men jeg tænkte mere på, om der ikke i PHP var en specifik funktion for det..

i Lingo ville $c=$a+$b have givet det ønskede resultat, men sådan fungerer det vist ikke i PHP, men er der ikke en funktion ala:
array_add_individual($a,$b,...);
(det er så bare hvad denne funktion evt. hedder, og jeg spørger her, fordi jeg ikke kan finde det på php.net, men der er så mange array funktioner at der vel må være en tilsvarende?)
Avatar billede mikkel_breum Nybegynder
18. marts 2006 - 17:50 #4
dett skulle også være fint hvis man kunne fodre denne funktion med arrays der ikke var lige lange, hvor manglende værdier så havde værdien 0, således:

[0,0,2,3,5] +
[2,2,2,2,2,2,2] =
[2,2,4,5,7,2,2]
Avatar billede krukken Juniormester
18. marts 2006 - 17:53 #5
Jeg er aldrig selv støt på den - men du kan jo bare selv lave den:-). Det ville endvidere give dig mulighed for at custumersere den til at checke på værdierne. Hvis du så placere den i en anden php-fil, så er det jo muligt at genbruge den. Lidt ligesom med statisk funktioner.
Avatar billede erikjacobsen Ekspert
18. marts 2006 - 17:53 #6
Eller en helt anden måde ;)

function add($n1,$n2) {
  return $n1+$n2;
}

$a = array(1, 2, 3, 4, 5);
$b = array(2, 3, 4, 5, 6, 7, 8);
$c = array_map('add', $a, $b);
print '['.join($c,',').']';

Udskriver:

[3,5,7,9,11,7,8]
Avatar billede mikkel_breum Nybegynder
18. marts 2006 - 18:03 #7
ok, tusind tak for svarene, så stopper jeg med at lede efter den funktion jeg troede måtte eksistere på php.net og bruger i stedet jeres forslag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester