2017-07-05 7 views
0

私はすべてを試しました!私は、ユーザー "営業管理者"が文字列内で許可されているかどうかを調べようとしています。私は文字列&を配列に入れて解凍しようとしましたが、strpos(以下のコードで)、preg match、さらにif (strpos($userAllowedString, $userRole) > -1)を試しました。結果は常に空です。結果は偽でなければならないが、何も返さない。ブール値false空の文字列をエコーする

$userAllowedString = "Sales Manager,Sales Director,Project Manager,Developer"; 
$userRole = "Sales Administrator"; 

if(strpos($userAllowedString,$userRole) !== false) { 
    $userAllowed= true; 
} else { 
    $userAllowed = false; 
} 

アドバイスはありますか?

+1

それは何である - 空の?それが空であることをどのようにチェックするのですか? –

+0

結果をデバッグまたはエコーすると、それは空白です – AisRuss

+1

'false'値の出力は空文字列です。実際の変数値を見るには 'var_dump'を使います。 –

答えて

1

trueまたはfalseではなく、 'true'または 'false'のような値を使用してください。見積もり自体がない真または偽は、空の文字列を表すためです。

$userAllowedString = "Sales Manager,Sales Director,Project Manager,Developer"; 
$userRole = "Sales Administrator"; 
$userAllowedString = explode(',', $userAllowedString); 

if(in_array($userRole, $userAllowedString)) { 
    $userAllowed= 'true'; 
} else { 
    $userAllowed = 'false'; 
} 
echo $userAllowed; //false 

の作業例:https://3v4l.org/Zkg9b

1

あなただけin_array()を使用することができます。

$userAllowedString = "Sales Manager,Sales Director,Project Manager,Developer"; 
$userRole = "Sales Administrator"; 
$userAllowed = in_array($userRole, explode(',', $userAllowedString)); 
0

私は、このタスクのためのPHPの組み込み関数in_array()をお勧めしたいと思います。すでにコメントで言ったように私はin_array()を使用しないでください詳細

$userAllowedString = "Sales Manager,Sales Director,Project Manager,Developer"; 
$userRole = "Sales Administrator"; 
$userAllowedString = explode(',', $userAllowedString); 

if(in_array($userRole, $userAllowedString)) { 
    // True 
    $userAllowed= 'true'; 
} else { 
    // False 
    $userAllowed = 'false'; 
} 


echo $userAllowed; //false 
0

との答えとしてこれを追加する過剰です。あなたのスクリプトは正常に動作しています。

ブール値falseは空の文字列を出力するので、変数をエコーすると結果が表示されません。ブールtrue1をエコーし​​ます。実際のブール値を表示するにはのようなecho以外のものを使用してください。

コード:(Demo

$userAllowedString = "Sales Manager,Sales Director,Project Manager,Developer"; 
$userRole = "Sales Administrator"; 

if(strpos($userAllowedString,$userRole) !== false) { 
    $userAllowed= true; 
} else { 
    $userAllowed = false; 
} 

echo "\n----\n"; 
var_export($userAllowed); 
echo "\n----\n"; 
echo false; 
echo "\n----\n"; 
var_export(true); 
echo "\n----\n"; 
echo true; 

出力:

---- 
false 
---- 

---- 
true 
---- 
1 
関連する問題