Jump to content
php.lv forumi

Recommended Posts

Posted

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

  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic

Posted


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

Posted

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?
Posted

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.

Posted

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

 

Posted (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 by Леший
Posted

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?

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