Plus Forum Övrigt Off-topic Nån duktig på php.. Dan??

Visar 7 inlägg - 11 till 17 (av 17 totalt)
  • Författare
    Inlägg
  • #154305
    Dan
    Deltagare

    Loopa denna arrayen och skapa en ny baserad på produktid för att hitta antal unika prosukter.

    Foreach($products as $key=>$val)
    $unikaidn[$val[id]]=1;

    Echo count($unikaidn);

    #154308
    JohanK
    Deltagare

    @Dan 54434 wrote:

    Loopa denna arrayen och skapa en ny baserad på produktid för att hitta antal unika prosukter.

    Foreach($products as $key=>$val)
    $unikaidn[$val[id]]=1;

    Echo count($unikaidn);

    Menar du såhär? Funkade inte om jag inte körde så här,

    Lägger jag in 6 produkter i korgen så printar den 6. Lägger jag 2 av varje på 6 produkter så printar den 6.

    foreach($products as $key=>$val){
    foreach($products as $key=>$val){
    $unikaidn[$val[id]]=1;
    }}
    Echo count($unikaidn);[/CODE][CODE]foreach($products as $key=>$val){
    foreach($products as $key=>$val){
    $unikaidn[$val[id]]=1;
    }}
    Echo count($unikaidn);[/CODE]

    #154309
    Dan
    Deltagare

    Visa arrayen när du har identiska produkter i den.

    #154310
    GregerA
    Deltagare

    Jag ramlade in i tråden, och undrar om ni inte missförstår varann lite.

    Som jag tolkar det, så vill Johan ha det så här:

    produkt A 2 st
    produkt B 1 st
    produkt C 1 st
    + 11 andra produkter

    Totalt antal produkter i det här fallet är alltså 15 (varav 4 i de tre första raderna).

    Det du får göra är att summera antalet fr.o.m fjärde elementet i arrayen, om arraystorleken är större än tre.

    Edit: nåt sånt här borde funka

    $i = 0;
    $cnt = 0;
    foreach ($products as $product){
    if ($i>2) $cnt = $cnt + $product[quantity];
    $i++;
    }
    echo $cnt;

    [/CODE]

    Jag har förutsatt att de tre rader du vill visa ligger först i arrayen.[CODE]
    $i = 0;
    $cnt = 0;
    foreach ($products as $product){
    if ($i>2) $cnt = $cnt + $product[quantity];
    $i++;
    }
    echo $cnt;

    [/CODE]

    Jag har förutsatt att de tre rader du vill visa ligger först i arrayen.

    #154311

    Jag är kanske är trög, men förstår inte riktigt om du löst det eller om du inte gjort det: vad är egentligen problemet? :)

    Om du får mig att förstå skriver jag gärna ihop koden åt dig hehe

    #154312

    @GregerA 54439 wrote:

    Jag ramlade in i tråden, och undrar om ni inte missförstår varann lite.

    Som jag tolkar det, så vill Johan ha det så här:

    produkt A 2 st
    produkt B 1 st
    produkt C 1 st
    + 11 andra produkter

    Totalt antal produkter i det här fallet är alltså 15 (varav 4 i de tre första raderna).

    Det du får göra är att summera antalet fr.o.m fjärde elementet i arrayen, om arraystorleken är större än tre.

    Edit: nåt sånt här borde funka

    $i = 0;
    $cnt = 0;
    foreach ($products as $product){
    if ($i>2) $cnt = $cnt + $product[quantity];
    $i++;
    }
    echo $cnt;

    [/CODE]

    Jag har förutsatt att de tre rader du vill visa ligger först i arrayen.

    skrev precis dans exempel modiferat till ditt grundinlägg. Du hann ju svara, men kastar ut koden iallafall, den gör iallafall precis som inlägget ovanför här 🙂

    [PHP]$count = 0;
    foreach ($products as $product) {
    if ($count == 3) {
    echo “

    +”. (count($products)-3) .” andra produkter”;
    break;
    }
    else {
    echo “

    {$product[‘name’]} – {$product[‘quantity’]}st

    “;
    $count++;
    }
    }[/PHP][CODE]
    $i = 0;
    $cnt = 0;
    foreach ($products as $product){
    if ($i>2) $cnt = $cnt + $product[quantity];
    $i++;
    }
    echo $cnt;

    [/CODE]

    Jag har förutsatt att de tre rader du vill visa ligger först i arrayen.

    skrev precis dans exempel modiferat till ditt grundinlägg. Du hann ju svara, men kastar ut koden iallafall, den gör iallafall precis som inlägget ovanför här :)

    [PHP]$count = 0;
    foreach ($products as $product) {
    if ($count == 3) {
    echo “

    +”. (count($products)-3) .” andra produkter”;
    break;
    }
    else {
    echo “

    {$product} – {$product}st

    “;
    $count++;
    }
    }[/PHP]

    #154376
    JohanK
    Deltagare

    Stort tack för hjälpen!!

    Nu funkar det!

Visar 7 inlägg - 11 till 17 (av 17 totalt)
  • Du måste vara inloggad för att svara på detta ämne.