Pieduriens Posted August 15, 2013 Report Share Posted August 15, 2013 Labvakar! Vai nu ir pārāk vēls, acis izkaltušas un galva pārkarsusi, bet nekādi nevaru salikt konstrukciju.. // Ja id divos laukos nav norādīts, tad apakš foreach nav jāpilda..// Ja id divos laukos ir vienāds, tad jāpilda viena sekcija// Ja id divos laukos ir dažāds, tad jāpilda otra sekcija. Šie trīs punkti būtu viegli izpildāmi izmantojot parastu elseif, bet klāt nāk: // Ja vienā no diviem laukiem ir id, izmantot to id kurš ir aizpildīts. Paldies ;) Quote Link to comment Share on other sites More sharing options...
mandarīnpīle Posted August 15, 2013 Report Share Posted August 15, 2013 //Ja aizpilditi abi ID if(!empty($id1, $id2)) { if($id == $id2){ //function viena_sekcija(); } else{ //function otra_sekcija(); } } //Ja aizpildits viens no ID if( (empty($id1) && !empty($id2)) || (empty($id2) && !empty($id1)) ){ if(empty($id1)) { $izmantojams_id = $id2; } else{ $izmantojams_id = $id1; } //function cita_sekcija($izmantojams_id); } //Ja ID abos laukos nav noradits, nekas netiek darits Quote Link to comment Share on other sites More sharing options...
Pieduriens Posted August 16, 2013 Author Report Share Posted August 16, 2013 Hmm paldies par Ideju, bet intuitīvi jūtu, ka tas būtu jāveic vienā blokā.. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 16, 2013 Report Share Posted August 16, 2013 Kaut kā tu baigi nesaprotami esi uzrakstījis. // Ja id divos laukos nav norādīts, tad apakš foreach nav jāpildaKur tam foreach jāatrodas un vai viņam ir nepieciešams kāds no tiem ID? // Ja id divos laukos ir vienāds, tad jāpilda viena sekcija // Ja id divos laukos ir dažāds, tad jāpilda otra sekcija ... // Ja vienā no diviem laukiem ir id, izmantot to id kurš ir aizpildīts Kur "izmantot to id kurš ir aizpildīts"? Tajā vienā/otrā sekcijā? Jeb pavisam kur citur? Quote Link to comment Share on other sites More sharing options...
mandarīnpīle Posted August 16, 2013 Report Share Posted August 16, 2013 Hmm paldies par Ideju, bet intuitīvi jūtu, ka tas būtu jāveic vienā blokā.. Uz intuiciju gan nevajag programmet.. Bet ja, es neesmu parliecinats vai tas bija tas, ko tu gribeji. Quote Link to comment Share on other sites More sharing options...
e-remit Posted August 16, 2013 Report Share Posted August 16, 2013 Hmm paldies par Ideju, bet intuitīvi jūtu, ka tas būtu jāveic vienā blokā.. Pieņemot, ka tev ir PHP5.4: $loop_arr = array( array("id1"=>1,"id2"=>2), array("id1"=>null,"id2"=>2), array("id1"=>1,"id2"=>null), array("id1"=>null,"id2"=>null), ); // Ja id divos laukos nav norādīts, tad apakš foreach nav jāpilda.. foreach($loop_arr as $r) if ($r["id1"] || $r["id2"]) { if ($r["id1"] == $r["id2"]){ // Ja id divos laukos ir vienāds, tad jāpilda viena sekcija echo $r["id1"]; } else if ($r["id1"] && $r["id2"]){ // Ja id divos laukos ir dažāds, tad jāpilda otra sekcija. echo $r["id1"] . " | " . $r["id2"]; } else { // Ja vienā no diviem laukiem ir id, izmantot to id kurš ir aizpildīts. echo $r["id1"] ?: $r["id2"]; } echo "\n<br>\n"; } Protams, var vēl īsāk, īpaši, ja zinātu, kā tu apstrādāsi tos ID. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 16, 2013 Report Share Posted August 16, 2013 "echo $r["id1"] ?: $r["id2"];" - wat? kur ir "true" kods? Quote Link to comment Share on other sites More sharing options...
spainis Posted August 16, 2013 Report Share Posted August 16, 2013 Since PHP 5.3, it is possible to leave out the middle part of the ternary operator. Expression expr1 ?: expr3 returns expr1 if expr1 evaluates to TRUE, and expr3 otherwise. http://php.net/manual/en/language.operators.comparison.php Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 16, 2013 Report Share Posted August 16, 2013 Well shit, nepietiek ar visiem citiem stulbumiem... Quote Link to comment Share on other sites More sharing options...
Pieduriens Posted August 16, 2013 Author Report Share Posted August 16, 2013 Ok, vajadzēja būt nedaudz konkrētākam.. Ir Masīvs: http://pastebin.com/weCm73Av Trīs iespējamās varbūtības. 1): [default_billing] => 4 [default_shipping] => 5 2): [default_billing] => [default_shipping] => 3) [default_billing] => 6 [default_shipping] => 6 Scenārijs, bēc id iegūšanas mans arrays tiek papildīnāts ar $array[$i]['shipping'] kā arī ja id atskjiras ar $array[$i]['billing'] Quote Link to comment Share on other sites More sharing options...
Kasspars Posted August 16, 2013 Report Share Posted August 16, 2013 Well shit, nepietiek ar visiem citiem stulbumiem... Kamon, šitas nav stulbums, bet gan ērtība Quote Link to comment Share on other sites More sharing options...
marrtins Posted August 17, 2013 Report Share Posted August 17, 2013 (edited) Ja kas nav jurčikprāt, tad tas ir stulbums ;) !$jur4ikprat?stulbums(); Edited August 17, 2013 by marrtins Quote Link to comment Share on other sites More sharing options...
Леший Posted August 17, 2013 Report Share Posted August 17, 2013 (edited) Man tas "īsais" ternary neliekas īpaši lasams. Labāk izmantot ko tādu: isset($asdf) || print(1); !isset($asdf) && print(2); vai vēl lasamāk: isset($asdf) OR print(1); !isset($asdf) AND print(2); Edited August 17, 2013 by Леший Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 17, 2013 Report Share Posted August 17, 2013 Ja kas nav jurčikprāt, tad tas ir stulbums ;) !$jur4ikprat?stulbums(); Tas ir mans viedoklis, ģēnij... Tev liekas, ka tā ir baigi laba ideja - izlaist "true" statementu? Cik daudzi programmētāji, tavuprāt, zin par tādu brīnumu? Quote Link to comment Share on other sites More sharing options...
Pieduriens Posted August 17, 2013 Author Report Share Posted August 17, 2013 Paldies visiem, idejas iegūtas, bet flame ware jau nav nepieciešams :) 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.