朋友和所有人。我有这个脚本的问题,无法找到如何解决它。我在DB中有一些电话号码。这个数字来自不同的移动运营商,标准的第一位数字如(运营商代码)38098(电话号码),38066(电话号码),38063(电话号码),38099(电话号码)。我需要那个脚本比较第一个数字并打印这个号码所拥有的操作员(对不起我的英语不好),例如:38066 344-56-67这个用户有沃达丰; 38098 344-56-67这位用户拥有Kyivstar。所以我喜欢这样:
<? if ($mobile="38099") { ?>This user have Vodafone number
<? }else if ($mobile="38066") { ?>This user have Vodafone number
<? }else if ($mobile="38067") { ?>This user have Kyivstar number
<? } ?>
但是这个脚本没有用(。只有当电话号码数字在“if”和“else if”中等于数字时才有效。请帮助我解决我的问题
答案 0 :(得分:2)
因为您要分配而不是比较,所以您需要在此处比较值。
类似的东西:
if(variable == value)
这称为if ($mobile="38099")
分配值,您无法比较像这样的值,=符号用于分配。
为了进行比较,您可以使用==
,用于比较值,无论是否相等,如下所示:
if ($mobile == "38099")
如果要比较值和数据类型,可以使用===
符号,它将比较值是否相等以及dataType检查。
手册将帮助您了解更多信息:http://php.net/manual/en/language.operators.comparison.php
答案 1 :(得分:1)
我认为如果你的例子非常喜欢它&#34; 38066 344-56-67&#34;你应该使用
^[a-zA-Z]+$
并测试新表中的第一个索引,如
$nra = explode(" ", $mobile);
并使用if($nra[0] == "38099")
{
echo"This user have Vodafone number";
}
else if($nra[0] == "38066").....
代替&#34; =&#34;比较
答案 2 :(得分:1)
<?php
$test = '38066 344-56-67';
$mobile = substr($test, 0, 5);
if ($mobile=="38099") {
echo "This user have Vodafone number";
}
else if ($mobile=="38066")
{
echo "This user have Vodafone number";
}
else if ($mobile=="38067")
{
echo "This user have Kyivstar number";
}
?>