Anif Maulana
Anif Maulana

Reputation: 21

Dynamic condition in php

Can someone help me to solved my issue for build dynamic condition in php...

i have an array

$condition = array('FADR1','FADR2','FADR3','SADR1','SADR2','SADR3');

i have tried this code but the result not like i want

for ($i=0; $i < count($condition) ; $i++) {
       if($keydt == $condition[$i]){
              $separator = '';
       }else{
              $separator = '|';
       }
}

i want to make array become like this inside loop

if($keydt == 'FADR1' or $keydt == 'FADR2' or $keydt == 'FADR3' or $keydt == 'SADR1' or $keydt == 'SADR2' or $keydt == 'SADR3'){
     $separator = '';
}else{
     $separator = '|';
}

Upvotes: 1

Views: 340

Answers (2)

Synkronice
Synkronice

Reputation: 179

you could try using in_array() function, example:

for ($i=0; $i < count($condition) ; $i++) {
    if (in_array($condition[$i], array('FADR1', 'FADR2', 'FADR3', 'SADR1', 'SADR2', 'SADR3'), true)) {
        $separator = '';
    } else {
        $separator = '|';
    }
}

another example using foreach...

foreach ($condition as $value) {
    if (in_array($value, array('FADR1', 'FADR2', 'FADR3', 'SADR1', 'SADR2', 'SADR3'), true)) {
        $separator = '';
    } else {
        $separator = '|';
    }
}

I hope that help you.

Regards.

Upvotes: 1

Qirel
Qirel

Reputation: 26450

You can use in_array() to check if a value exists inside an array.

if (in_array($keydt, $condition)) {
    $separator = '';
} else {
    $separator = '|';
}

Upvotes: 2

Related Questions