您的位置:图文专栏 > 技术教程 > 学习笔记 >

20、switch case语句,实现判断第三方登录网站方式案例

发布时间:2021-04-28 14:19:50

20、switch case语句,实现判断第三方登录网站方式案例

使用背景:

比如有很多条件选择的时候,如果要使用 else if语句来实现就要写上很多,这样会让人看着很累

switch case 语句有如下规则:

    1、switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
    2、switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
    3、case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
    4、当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
    5、当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
    6、switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

在switch语句中,我们要记住四个关键词:

    分别是switch、case、default和break。switch是语句的特征标志; case表示当switch后的表达式满足某个case后的常量时,运行该case以后的语句块。要注意,任意两个case后的常量不能相等,否则switch将不知道选择哪条路走。default表示当表达式没有匹配的case时,默认
( default )地运行它之后的语句块 ; break表示分岔路已经到头,退出switch语句。

switch case图解:

实例:判断本月是那个季节
<?php
echo "使用switch语句判断输入的某个月份属于哪个季节。<br>";
echo "说明:春:1-3月,夏:4-6月,秋:7-9月,冬:10-12月<br>";
$diana = 10;  //可以用随机函数 $diana = rand(1,12);
switch($diana){
	case $diana>=1 && $diana<=3:
		echo $diana."月是:春季";
		break;
	case $diana>=4 && $diana<=6:
		echo $diana."月是:夏季";
		break;
	case $diana>=7 && $diana<=9:
		echo $diana."月是:秋季";
		break;
	default:
		echo $diana."月是:冬季";
}
?>
效果:


下面实例多重登录方式
用普通登录、QQ登录、微信登录、微博登录
代码:
<?php
$login = "qq";
switch ($login){
	case "qq": //必须使用 冒号 结束
		echo "执行用QQ登录";
		break; //必须,用来表示执行结束
	case "weibo":
		echo " 执行用微博登录" ;
		break;
	case "wechat":
		echo "执行用微信登录";
		break;
	default:  //表示当$login = "" 值为空或没有匹配到方式时默认执行此语句
		echo "用普通方式登录";
}
?>

以上代码的 switch 值是写死的,假如我们要从网址中获取这个值, $_GET[ ] 实现代码如下;
<?php
$login = $_GET['login']; //$_GET[] 可以用来获取地址栏中的参数
switch ($login){
	case "qq": //必须使用 冒号 结束
		echo "执行用QQ登录";
		break; //用来表示执行结束
	case "weibo":
		echo " 执行用微博登录" ;
		break;
	case "wechat":
		echo "执行用微信登录";
		break;
	default:  //表示当$login = "" 值为空或没有匹配到方式时默认执行此语句
		echo "用普通方式登录";
}
?>
网址打开:如:http://127.0.0.1/1.php?login=qq 在地址栏中执行参数须要加 ?


另外:如果在址栏中不加参数访问,是以 default (最后一种默认值)方式登录,但在某些PHP版本中会提示警告。

所以在 $_GET[ ] 中要使用三元表达式判断下:
$login = isset($_GET['login']) ? $_GET['login'] : ""; 
说明:isset函数是检测变量是否设置。
上一篇: 19、else if语句,多个件条选择时使用

下一篇: 21、PHP $,GET 变量,使用说明