检查字符串是否为数字,但不包括检查中的欧元符号

时间:2017-01-13 09:02:12

标签: php

我希望能够以价格添加产品,但也只需添加文字。所以我构建一个检查以查看该字符串是否为数字。我的问题是我显示这样的价格:

if($product['xreference'] != ''){
    $price = '€ '.strip_tags($product['xreference']);
  }else{
    $price = '';
  }

那么如何检查$price是否为数字,但在检查中排除欧元符号?

3 个答案:

答案 0 :(得分:1)

假设你想在有问题的代码行之后进行is_numeric检查,一种方法是:

$priceTest = str_replace('€', '', $price);

$result = is_numeric($priceTest);

if ($result) {
    echo " it is numeric";
}

答案 1 :(得分:0)

您可以在添加"€"之前检查数据是否为数字。到$ price变量

if($product['xreference'] != ''){

    if(is_numeric($price)){ // If data is numeric then add '€' to $price.

        $price = '€ '.strip_tags($product['xreference']);
    }
    else 
    {
        // data of $price is not numeric value
    }

}
else
{
    $price = '';
}

答案 2 :(得分:0)

您可以使用str_replace我发布一些代码可能会有所帮助

<?php
  $price = 'dsf';
  $productPrice['xreference'] = '€'.$price;
  $onlyPrice = str_replace ("€","",$productPrice['xreference']);
  if(ctype_digit($onlyPrice)){
     echo "Yes";die;
  }else{
    echo 'not';die;
  }
?>

如果$price=100;则为是