2017-09-26 8 views
0

タイトルには、顧客からのデータ入力を格納する変数があります。データにポンド記号が含まれていれば、製品の価格のサイン、ポンド記号が入っていない場合は、それを必ず追加する必要があります。IF文を使用して変数に£(pounds)が含まれているかどうかを確認するPHP

PHPはマルチバイト文字を使用しています。これは私が確認している方法ですが、動作していません:

if(($price[0] != "Â") && ($price[1] !="£")){ 
    $len = strlen($price); 
    $char= '£'; 

    for($t = 0; $t<$len;$t++){ 
     $char .= $price[$t]; 
    } 

    $price = $char; 
} 

これ以外の方法はありますか?

+1

strpos関数を使用できます。ここでそれをチェックしてくださいphp.net/manual/en/function.strpos.php –

+0

'strpos'を使うことができますhttp://php.net/manual/fr/function.strpos.php – teeyo

+1

' if(strpos( "£" 、$ price)!== false){/ *それはあります* /} ' – Qirel

答えて

0

こんにちはstrpos()例を使用します。

$a = '£100'; 
$b = '100'; 
if (strpos($a, '£') !== false) { 
    echo 'a is price value'; 
} 
if(strpos($b, '£') !== false) 
{ 
    echo 'b is price value'; 
} 

が、これはこのstrpos

$findme = '£'; 
if(strpos($price, $findme)){ 
    //Pound 
}else{ 
    //No pound 
} 
0

チェックアウトを動作することがありますまた、mb_strposの代わりに、strpos

のようなマルチバイト文字列の拡張機能を使用してみてください
+0

'strpos("£100 "、$ findme)'を想定しているのでmbstringを使用する方が安全です。 0を返します。これは偽です。厳密な比較を行うには 'if(strpos($ price、$ findme)!== false)'を実行する必要があります – apokryfos

関連する問題