2016-03-23 11 views
0

こんにちは私はここでifとelse文を実行して、ユーザがそれにアクセスできるかどうかを調べます。私は、ユーザーの2種類以上のすべてのユーザー、この部分にアクセスすることはできませんが、この部分は..私はif文の2つの条件codeigniter

<?php foreach($_SESSION['datauser'] as $a){ 

if($a->USERTYPE == '1' || $a->USERTYPE == '2'){ 

?> do this 

<?php }} ?> 

を行っているしているが、本当である条件ごとに、それがための条件を実行していること発生した場合例

<?php foreach($_SESSION['datauser'] as $a){ 

if($a->USERTYPE == '1' || $a->USERTYPE == '2'){ 

    echo 'name'; 

}} ?> 

ユーザタイプ== 1、それは出力名れる場合はユーザータイプはユーザータイプであれば、それは出力も名前が付けられます==であれば、それは私が欲しいnamename

を出力ユーザタイプ== 1と== 2がある場合両方とも、出力名も出力されます。

+0

期待どおりの結果が得られましたか? – Fabio

+0

2番目のコードブロックから余分なPHPを削除してください。 –

+0

出力は正しいと思われますが、 'usertype'をどうすれば両方にできますか?その部分の –

答えて

0

条件が一度Trueになると、breakを使用してループを終了できます。

<?php foreach($_SESSION['datauser'] as $a){ 

    if($a->USERTYPE == '1' || $a->USERTYPE == '2'){ 

     echo 'name'; 
     break; 
    } 
}?> 
0

ので変数$_SESSION['datauser']は、複数の値を有しているので、この

<?php 
$a=""; 
foreach($_SESSION['datauser'] as $a){ 
if($a->USERTYPE == '1' || $a->USERTYPE == '2'){ 
    $a='name'; 
} 
} 
echo $a; 
?> 
0

を試みます。

あなたのforeachは複数回ループしていますので、答えはnamenameです。

名前を1つだけ印刷したい場合は、

次のコードを試してください。

<?php $name=""; 
    foreach($_SESSION['datauser'] as $a){ 

    if($a->USERTYPE == '1' || $a->USERTYPE == '2'){ 
     if($name==""){ 
      $name="name"; 
     } 
    } 
} 
$name 
?>