Jump to content
php.lv forumi

elseif algoritms


Pieduriens

Recommended Posts

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 ;)

Link to comment
Share on other sites

  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic


//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

Link to comment
Share on other sites

Kaut kā tu baigi nesaprotami esi uzrakstījis.

// Ja id divos laukos nav norādīts, tad apakš foreach nav jāpilda

Kur 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?
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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']

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

Loading...

×
×
  • Create New...