crmind Posted August 11, 2009 Report Share Posted August 11, 2009 Ir aptuveni šāds masīvs: $size = array( "width"=>array( 0=>123, 1=>456, 2=>789, 3=>123, 4=>456, 5=>789 ), "height"=>array( 0=>456, 1=>123, 2=>987, 3=>456, 4=>654, 5=>987 ) ); Tātad $size[width][x] ir saistīts ar $size[height][x]. Nepieciešams no šāda masīva izvilkt vienādos izmērus, attiecīgi: 123x456,456x123,789x987,456x654. Kāds būtu (efektīvākais) veids lai to panāktu? Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted August 11, 2009 Report Share Posted August 11, 2009 $size = array( "width"=>array( 123, 456, 789, 123, 456, 789 ), "height"=>array( 456, 123, 987, 456, 654, 987 ) ); $velos_izvlikt=2; $izmers=$size["width"][$velos_izvilkt]."x".$size["height"][$velos_izvilkt]; Quote Link to comment Share on other sites More sharing options...
bubu Posted August 11, 2009 Report Share Posted August 11, 2009 Nevis vienādos, bet unikālos izmērus, pareizi? Ja tā, tad ej ciklā cauri un liec atrastos izmērus jaunā masīvā, pirms tam pārbaudod vai tie tur jau nav ielikti. Beigās arī dabūsi masīvu ar unikālajiem izmēriem. Quote Link to comment Share on other sites More sharing options...
crmind Posted August 11, 2009 Author Report Share Posted August 11, 2009 Nevis vienādos, bet unikālos izmērus, pareizi? Ja tā, tad ej ciklā cauri un liec atrastos izmērus jaunā masīvā, pirms tam pārbaudod vai tie tur jau nav ielikti. Beigās arī dabūsi masīvu ar unikālajiem izmēriem. Paldies, derēs šis variants. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted August 11, 2009 Report Share Posted August 11, 2009 vai 123x321 ir vienādi izmēri ar 321x123 ? :) Quote Link to comment Share on other sites More sharing options...
crmind Posted August 11, 2009 Author Report Share Posted August 11, 2009 vai 123x321 ir vienādi izmēri ar 321x123 ? :) Nē, ir svarīgi lai būtu identiski pēc platuma un garuma ne kopējā laukuma. :) Quote Link to comment Share on other sites More sharing options...
ohmygod Posted August 11, 2009 Report Share Posted August 11, 2009 (edited) Šāds variants neder? $out = array_combine($size['width'], $size['height']); $sizes = array_unique($out); upd, vajag, laikam otrādi... vispirms unique un tad combine... Edited August 11, 2009 by ohmygod Quote Link to comment Share on other sites More sharing options...
crmind Posted August 11, 2009 Author Report Share Posted August 11, 2009 Šāds variants neder? $out = array_combine($size['width'], $size['height']); $sizes = array_unique($out); upd, vajag, laikam otrādi... vispirms unique un tad combine... Nē, tapēc ka pēc array_combine $size['width'] ir masīva atslēga un $size['height'] vērtība, bet array_unique izvelk tik unikālās masīva vērtības. Otrādāk ar nekas labs nesanāk. Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted August 11, 2009 Report Share Posted August 11, 2009 var arī rupji bez pārbaudīšanas vai masīvā tāds ir, vnk $z = min(count($size['width']), count($size['height'])); $r = array(); for($i=0;$i<$z;$i++) { $r[$size['width'][$i].'x'.$size['height'][$i]] = array($size['width'][$i],$size['height'][$i]); } print_r($r); Quote Link to comment Share on other sites More sharing options...
crmind Posted August 11, 2009 Author Report Share Posted August 11, 2009 var arī rupji bez pārbaudīšanas vai masīvā tāds ir, vnk $z = min(count($size['width']), count($size['height'])); $r = array(); for($i=0;$i<$z;$i++) { $r[$size['width'][$i].'x'.$size['height'][$i]] = array($size['width'][$i],$size['height'][$i]); } print_r($r); Interesants variants, definēt/pārdefinēt mainīgo noteikti ir arī fiksāk nekā katrā ciklā if izmantot.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.