PHP条件控制语句实例程序

 更新时间:2016年11月25日 15:45  点击:1841
在php中条件控制语包括了if语句、swicth语句、三无操作符等下面小编来给大家总结它们三个在php中的一些应用实例了,希望此教程对各位朋友有所帮助。

PHP条件控制语句一共有三种:

第一种:if语句;

第二种:switch语句;

第三种:三元操作符;

分别讲解下这三种条件控制语句。

第一种:if语句。


if语法有以下几种格式:

1)、

if (表达式一) {  //满足条件执行以下程序段

执行语句;
}

例如:

 代码如下 复制代码

<?php

if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>

2)、

if (表达式一){   //满足条件执行以下程序段

执行语句;

}

else{        //不满足执行如下程序段

执行语句;

}

例如:

 代码如下 复制代码

<?php
if ($a > $b) {
echo "a is bigger than b";
} else {
echo "a is NOT bigger than b";
}
?>

3)、if (表达式一) {   //满足条件执行以下程序段

}elseif  (表达式二)  {

}else {

}

例如:

 代码如下 复制代码

<?php

$a=45;

$b=50;

if ($a>$b)      {  print  “a大于b”;  }

elseif ($a==$b)      {  print  “a等于b”;  }

else      {  print “a小于b”;  }

?>

 

第二种:switch语句。

Switch是多路分支语句,虽然可以通过多重嵌套的if语句来实现多路分支,但嵌套越深,程序的可读性越差。使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。

Switch语句的语法

switch (var) {
case 值1:
语句1;
   break;
case 值2:

语句2;
   break;
case 值N:

语句N;
   break;
default:

语句;

}

例如:

 代码如下 复制代码

<?php

$i=1;

switch ($i) {
case 0:
echo  "i equals 0";
break;
case 1:
echo   "i equals 1";
break;
case 2:
echo   "i equals 2";
break;

default:
echo   "i no equals";
break;
}
?>

第三种:三元操作符。

PHP脚本语言支持操作符?:,它是if语句的紧凑版本。我们可以用下面的实例来对该三元操作符进行解释:


三元操作符语法:

(条件)?’执行语句1′:’执行语句2′;

解释为:如果条件为TRUE则执行语句1,如果条件为FALSE则执行语句2;

例如:

 代码如下 复制代码

echo  ($a>$b)?“a大于b”:“a不大于b”;

解释为:

如果$a>$b,则输入a大于b;如果$a<$b,则输入a不大于b。

开发者认证实例,希望此实例对各位有所帮助。

微信公众平台如何成为开发者?

登录微信公众平台后,点击高级功能=》开发模式=》成为开发者=》填写接口配置信息,提交后等待我司工作人员的审核。


1.开发者认证

这个最简单了,直接上个超简单版代码:

 代码如下 复制代码

exit($_GET['echostr']);

php文件就写上面这一句就行,微信公共平台随便填写token,写上php文件的url,然后验证即可通过。超级简单吧?官方的认证根本没有必要,因为后面的步骤没有使用的验证签名的地方,所以这个地方为了图方便直接输出返回值轻松通过验证。当然下面也给出官方要求的认证代码:

 代码如下 复制代码

$token='11';
$signarr=array($token,$_GET['timestamp'],$_GET['nonce']);
if($this-&gt;signnature($signarr,$_GET['signature'])){
   exit($_GET['echostr']);
}
function signnature($arr,$signature){
   sort($arr);
   if(sha1(implode($arr))==$signature) return true;
   return false;
}

把上面的代码保存成php文件,在微信公共平台设置同样的token,然后验证即可通过。

注:url是允许带get参数的

网址接入

公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:

* signature — 微信加密签名
* timestamp — 时间戳
* nonce — 随机数
* echostr — 随机字符串

开发者通过检验signature对网址接入合法性进行校验。若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败。  验证signature将结合开发者填写的token参数、timestamp

参数和nonce参数等,加密流程:
* 将token、timestamp、nonce三个参数进行字典序排序
* 将三个参数字符串拼接成一个字符串进行sha1加密
* 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。

本文章来给各位同学介绍关于php Exception打印error trace 实例,有需要的朋友可进入参考。


对于php的Exception,可以通过getTraceAsString获得错误栈。


而对于error则应该如下:

 代码如下 复制代码

function x()
 $x = debug_backtrace();
 //remove stack of this function
 array_shift($x);
 $i = 0;
 $xstr = '';
 foreach ($trace as $x) {
  //TODO need check exists args
  $args = $x['args'];
  if (!$args) {
   $argstr = '';
  } else {
   $argstr = '';
   $first = true;
   foreach ($args as $arg) {
    if (!$first) {
     $argstr .= ',';
    }
    $first = false;
    if (is_object($arg)) {
     $argstr .= 'Object[' . get_class($arg) . ']';
    }
    elseif (is_array($arg)) {
     $argstr .= 'Array';
    } else {
     $argstr .= $arg;
    }
   }
  }
  $xstr .= "[#$i] {$x['file']}({$x['line']}) {$x['function']} ($argstr)" . PHP_EOL;
  $i++;
 }

 return $xstr;
}

要实现计算器我们可以利用php中相关数学操作函数及相关数组来进行操作了,这个个人只是好玩写的并且无实用,计算器个人觉得js的最好。

php计算器

 代码如下 复制代码

<html>
    <head>
        <title>PHP实现简单计算器</title>
        <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
    </head>
<?php
    $num1=true;
    $num2=true;
    $numa=true;
    $numb=true;
    $message="";
    //单路分支
    if(isset($_GET["sub"])){
        if($_GET["num1"]==""){
            $num1=false;
            $message.="第一个数不能为空";

        }
        if(!is_numeric($_GET["num1"])){
            $numa=false;
            $message.="第一个数不是数字";
        }

        if($_GET["num2"]==""){
            $num2=false;
            $message.="第二个数不能为空";

        }
        if(!is_numeric($_GET["num2"])){
            $numb=false;
            $message.="第二个数不是数字";
        }

        if($num1 && $num2 && $numa && $numb) {
            $sum=0;
            //多路分支switch
            switch($_GET["ysf"]){
                case "+":
                    $sum=$_GET["num1"]+$_GET["num2"];
                    break;
                case "-":
                    $sum=$_GET["num1"]-$_GET["num2"];
                    break;
                case "x":
                    $sum=$_GET["num1"]*$_GET["num2"];
                    break;
                case "/":
                    $sum=$_GET["num1"]/$_GET["num2"];
                    break;
                case "%":
                    $sum=$_GET["num1"]%$_GET["num2"];
                    break;
            }
        }
    }
?>
<br /><b>Notice</b>:  Undefined index:  num1 in <b>
D:\php\PHPnow1.5.5\Package\vhosts\127.0.0.1\ceshi\jsq.php</b>
on line <b>64</b><br />
    <body>
        <table align="center" border="1" width="500">
            <caption><h1>计算器</h1></caption>
            <form action="jsq.php">
            <tr>
                <td>
                    <input type="text" size="5" name="num1" value="<?php echo $_GET["num1"] ?>" >
                </td>
                <td>
                    <select name="ysf">
                        <option value="+" <?php if($_GET["ysf"]=="+") echo "selected" ?>>+</option>
                        <option value="-" <?php if($_GET["ysf"]=="-") echo "selected" ?>>-</option>
                        <option value="x" <?php echo $_GET["ysf"]=="x"?"selected":"" ?>>x</option>
                        <option value="/" <?php echo $_GET["ysf"]=="/"?"selected":"" ?>>/</option>
                        <option value="%" <?php echo $_GET["ysf"]=="%"?"selected":"" ?>>%</option>
                    </select>
                </td>
                <td>
                    <input type="text" size="5" name="num2" value="<?php echo $_GET["num2"] ?>">
                </td>
                <td>
                    <input type="submit" name="sub" value="计算">
                </td>
            </tr>

            <?php
                if(isset($_GET["sub"])){

                    echo '<tr><td colspan="5">';
                    if($num1 && $num1 && $numa && $numb){
                        echo "结果:".$_GET["num1"]." ".$_GET["ysf"]." ".$_GET["num2"]." = ".$sum;
                    }else{
                        echo $message;
                    }
                    echo '</td></tr>';
                }
            ?>
            </form>
            </table>

    </body>
</html>

js计算器

 代码如下 复制代码

<html>
<head>
<title>计算器</title>
<script>
<!--
willclear=false //这个变量作为下一次输入是否先清空输入框的状态标志
function backspace(){ //退格
Calc.Input.value = Calc.Input.value.substring(0,Calc.Input.value.length-1)
Calc.Input.title = Calc.Input.value.substring(0,Calc.Input.title.length-1)
}//取长度为原长度减一的串,实现退格效果。
function addoperator(){  //加操作符
if (willclear){  //如果这次输入前需要清空输入框
willclear=false   //先清除标志,避免下次再次被错误地重复清空
clearinput()  //清除输入内容
}
Calc.Input.value += event.srcElement.innerText //给用于显示的加上刚输入的运算符
Calc.Input.title += event.srcElement.name //给用于计算的表达式区加上刚输入的运算符
}

function clearinput(){  //清除输入
Calc.Input.value=''  //清空显示区
Calc.Input.title=''  //清空表达式
}

function result(){ //用于计算结果
Calc.Input.value = eval(Calc.Input.title)//执行表达式区的表达式,返回结果到显示区。
willclear=true//设定下次按键则先清除此次计算结果。
}
//-->
</script>

<style>
button {width:40; border: 1 solid #808080;background-color: #FFFFFF}
</style>
</head>
<body>
<FORM NAME="Calc">
   <TABLE BORDER=4 bordercolorlight="#808080" bordercolor="#808080" width="250" height="38"><TR><TD width="291" height="39" bgcolor="#C0C0C0">
    &nbsp; 
    <INPUT TYPE="text" NAME="Input" readonly Size="21" style="background-color: #F5F5F5; font-family: Arial; border: 1 solid #000000">&nbsp
    <button NAME="back" OnClick="backspace()">←</button>
   </TD></TR><TR><TD width="291" height="38"> 
    <table border="0" width="100%" height="105" cellpadding="0"> 
      <tr> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="1" OnClick="addoperator()">1</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="2" OnClick="addoperator()">2</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="3" OnClick="addoperator()">3</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="+" OnClick="addoperator()">+</BUTTON>
        </td> 
      </tr> 
      <tr> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="4" OnClick="addoperator()">4</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="5" OnClick="addoperator()">5</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="6" OnClick="addoperator()">6</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="-" OnClick="addoperator()">-</BUTTON>
        </td> 
      </tr> 
      <tr> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="7" OnClick="addoperator()">7</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="8" OnClick="addoperator()">8</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="9" OnClick="addoperator()">9</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="*" OnClick="addoperator()">×</BUTTON>
        </td> 
      </tr> 
      <tr> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="clear" OnClick="clearinput()">C</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="0" OnClick="addoperator()">0</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="=" OnClick="result()">=</BUTTON>
        </td> 
        <td width="25%" height="31" align="center" bgcolor="#C0C0C0"> 
    <BUTTON NAME="/" OnClick="addoperator()">÷</BUTTON>
        </td> 
      </tr> 
    </table> 
   </TD></TR> 
   </TABLE> 
   </FORM> 
</body> 
</html> 

数组元素删除有很多种情况,一种是删除第一个元素或随意一个元素或删除数组中空元素,下面我总结一下删除数组元素的一些实例

实例一

 代码如下 复制代码


//删除数组中的一个元素
function array_remove_value(&$arr, $var){
foreach ($arr as $key => $value) {
if (is_array($value)) {
array_remove_value($arr[$key], $var);
} else {
$value = trim($value);
if ($value == $var) {
unset($arr[$key]);
} else {
$arr[$key] = $value;
}
}
}
}

实例二

array_flip() 删除数组重复元素


如:

 代码如下 复制代码

$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20);
$arr1 = array_flip($arr1); //$arr1 变成了 array(”快乐园” => “name”, 20 => “age”);
//再把 $arr1 的键名与值还复:
$arr1 = array_flip($arr1);

上面的代码写得简洁一些就是:

$arr1 = array_flip(array_flip($arr1));


实例三

array_pop 删除数组的最后一个元素

 代码如下 复制代码

$user=array('apple','banana','orange');
$result=array_pop($user);
print_r($result);
print_r($user);

删除数组中指定值的元素


一、利用foreach和unset()函数删除数组中的特定元素

 代码如下 复制代码

foreach($array as $k=>$v){
if($v == 'day'){
unset($array[$k]):
}
}

unset()函数即删除指定的数组值。

二、利用array_flip()函数和unset()函数删除数组中的特定值

 代码如下 复制代码

$arr = array_flip($arr);
unset($arr['world']);
$arr = array_flip($arr);
print_r($arr);

[!--infotagslink--]

相关文章

  • mysql中获取一天、一周、一月时间数据的各种sql语句写法

    创建表:复制代码 代码如下:create table if not exists t( id int, addTime datetime default '0000-00-00 00:00:00′)添加两条初始数据:insert t values(1, '2012-07-12 21:00:00′);insert t values(2, '2012-07...2014-05-31
  • MyBatisPlus-QueryWrapper多条件查询及修改方式

    这篇文章主要介绍了MyBatisPlus-QueryWrapper多条件查询及修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2022-06-27
  • C#条件语句、循环语句(if、while)

    这篇文章主要介绍了C#条件语句、循环语句(if、while)的用法,学习c#的朋友可以参考下...2020-06-25
  • c# 循环语句的使用方法

    这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • 如何利用JavaScript编写更好的条件语句详解

    这篇文章主要给大家介绍了关于如何利用JavaScript编写更好的条件语句的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-08-10
  • Mysql 原生语句中save or update 的写法汇总

    背景&#8195;&#8195;在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。 如果使用Hibernate,它自带saverOrUpdate方法,用起来很方便,但如使用原生sql语句呢? &#8195;...2015-03-15
  • yii添删改查实例

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • jquery if条件语句的写法

    下面小编就为大家带来一篇jquery if条件语句的写法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • C#实现String字符串转化为SQL语句中的In后接的参数详解

    在本篇文章中小编给大家分享的是一篇关于C#实现String字符串转化为SQL语句中的In后接的实例内容和代码,需要的朋友们参考下。...2020-06-25
  • Python基础之循环语句相关知识总结

    今天给大家带来的是关于Python基础的相关知识,文章围绕着Python循环语句展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下...2021-06-15
  • 详细谈谈JavaScript中循环之间的差异

    JS循环语句也叫迭代语句,是一种特殊的语句,主要用于需要多次执行的代码块,下面这篇文章主要给大家介绍了关于JavaScript中循环之间的差异的相关资料,需要的朋友可以参考下...2021-08-23
  • C#中的IEnumerable简介及简单实现实例

    这篇文章主要介绍了C#中的IEnumerable简介及简单实现实例,本文讲解了IEnumerable一些知识并给出了一个简单的实现,需要的朋友可以参考下...2020-06-25
  • MySQL左联多表查询where条件写法示例

    复制代码 代码如下: select * from _test a left join _test b on a.id=b.id where a.level='20' and a.month='04' and b.level='20' and b.month='03';select a.*,b.* from (select * from _test where level='20'...2015-03-15
  • Nginx中if语句的判断条件与多条件判断详解

    这篇文章主要介绍了关于Nginx中if语句的判断条件与多条件判断的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。...2017-07-06
  • vue实例的选项总结

    这篇文章主要介绍了Vue实例的选项有哪些,文中讲解非常细致,代码帮助大家更好的学习,感兴趣的朋友可以了解下...2020-06-10
  • mybatis in查询条件过长的解决方案

    这篇文章主要介绍了mybatis in查询条件过长的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-10
  • SQL语句中的一些参数如何用变量来代替?

    可以采用exec方法 declare @tempStr varchar(350) select @tempStr='Update weekcount set [' convert(varchar,@week) ']=[' convert(varchar,@week) '] 1 where us...2016-11-25
  • 一篇文章带你了解JavaScript-语句

    这篇文章主要介绍了JavaScript的基本语句,包括注释和书写格式等基本知识,需要的朋友可以参考下,希望本篇文章能给您带来帮助...2021-08-15