2016-03-23 4 views
0

Hallo, ich mache diese Anmeldung, wo ich tun, wenn und sonst Anweisung zu überprüfen, ob der Benutzer darauf zugreifen kann. Ich habe diesen Teil, in den zwei oder mehr Arten von Benutzern diesen Teil zugreifen können, aber nicht alle Benutzer .. Ich habezwei Bedingungen in if Anweisung coderigniter

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

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

?> do this 

<?php }} ?> 

getan, aber wenn es, dass für jeden der Bedingung geschieht, die wahr ist, ist es die Bedingung macht für

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

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

    echo 'name'; 

}} ?> 

wenn Benutzertyp == 1 und 2 == es gibt namename

ich will, ist, wenn Benutzertyp == 1 wird es Ausgabenamen, wenn Benutzertyp ist == es ausgegeben auch nennen, wenn Benutzertyp ist beide geben auch den Namen aus.

+0

Können Sie bitte klären, was erwartet wird? – Fabio

+0

Bitte entfernen Sie zusätzliche PHP aus dem zweiten Codeblock. –

+0

scheint die Ausgabe korrekt, wie mit dem 'usertype' sein beide? Bitte klären Sie diesen Teil –

Antwort

0

Sie können Pause verwenden, um die Schleife zu beenden, sobald die Bedingung einmal erfüllt ist, z.

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

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

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

versuchen, diese

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

Da die seit Variable $_SESSION['datauser'] mehr Wert.

Ihre Foreach ist mehrere Male looping daher Antwort wird namename kommen.

Wenn Sie nur einen Namen drucken möchten.

versuchen Sie den folgenden Code.

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

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