Pereiti prie turinio

[PHP] dvimačio masyvo reikšmių ištrynimas


Rekomenduojami pranešimai

Sveiki,

Nežinau ar čia penktadienis kaltas ar kas, bet visiškai galva nebedirba.

 

Yra toks masyvas:

 

Array
(
   [0] => Array
       (
           [name] => DPD
           [price] => 5
           [send_id] => 4
       )

   [1] => Array
       (
           [name] => UPS
           [price] => 10
           [send_id] => 3
       )

   [2] => Array
       (
           [name] => FEDEX
           [price] => 15
           [send_id] => 1
       )

   [3] => Array
       (
           [name] => DPD
           [price] => 5
           [send_id] => 4
       )

   [4] => Array
       (
           [name] => UPS
           [price] => 10
           [send_id] => 3
       )

   [5] => Array
       (
           [name] => Fedex
           [price] => 20
           [send_id] => 2
       )

)

 

Man reikia išrinkti unikalius siuntėjus. Ir jeigu jų yra keli vienodi, paimti tą, kur kaina didžiausia.

 

Ir turėtų gražinti kažką tokio:

Array
(
   [0] => Array
       (
           [name] => DPD
           [price] => 5
           [send_id] => 4
       )

   [1] => Array
       (
           [name] => UPS
           [price] => 10
           [send_id] => 3
       )

   [5] => Array
       (
           [name] => Fedex
           [price] => 20
           [send_id] => 2
       )

)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nesu tikras ar čia penktadienis kaltas dėl šios "sunkios" užduoties.

Žiūrėčiau gan paprastai.

Viską dėčiau į naują masyvą.

Tikrinčiau ar esantis name jau egzistuoja. Jei egzistuoja, tikrinu price, jei didesnė - atnaujinu masyvo elementą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip ir bandau daryt, betg nesėkmingai.

 

$z = 0;
$my_shipping = array();
while ($z <= count($shipping)) {
   $j = 0;
   if (count($my_shipping)>0) {
       while($j <= count($my_shipping)) {
           if ($my_shipping[$j]['name'] == $shipping[$z]['name']) {
               if ($my_shipping[$j]['price'] < $shipping[$z]['price']) {
                   $my_shipping[]['price'] = $shipping[$z]['price'];
               }
           } else {
               $my_shipping[]['name'] = $shipping[$z]['name'];
           }
           $j++;
       }
   } else {
       $my_shipping[]['name'] = $shipping[$z]['name'];
   }
   $z++;
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...