风马一族_php

Posted 风马一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了风马一族_php相关的知识,希望对你有一定的参考价值。

 原文来自:http://www.cnblogs.com/sows/p/6017018.html(博客园的)风马一族 侵犯版本,后果自负


 

回顾

  运算符:算术运算符、逻辑运算符、比较运算符、位运算符、赋值运算符、字符串运算符、自操作运算符、错误抑制符、三元运算符

  位:二进制、原码、反码、补码

  流程控制:顺序、分支、循环

  分支结构:if分支 和 switch分支

    switch:每个case最后面都会跟上break

    switch:适合固定值的处理,不适合条件运算处理

    if : 适合处理条件运算方面的处理  

  循环结构:for 、 while 、 do-while 、 foreach

`  函数:系统函数和自定义函数

  调用:函数名(),系统一旦碰到一个值后面跟了括号,系统就会把内存里的内容读出来,当做函数去执行

  定义函数:function 函数名(形式参数列表) { 

         //函数休

          //返回值

       }

       function myfunc($name) { //函数体 }

       myfunc($name,$age,$sex......);   //php支持实际参数比形式参数数量多,多余的部分,系统放弃了使用,而只获取形参对应的数量,对应的位置   

  参数传递:值传递,引用传递

    值传递:将外部变量的值,复制一份,赋值给形参

    引用传递:将外部变量所指向的内存空间的地址,赋值给形参

    function myfunc(&$name){ //函数体 }       //添加 地址符 &

    myfunc($name)              //不能使用地址符&

  作用域:全局作用域和局部作用域

    全局作用域:函数外部可以使用

    局部作用域:函数内部使用

    函数内部使用外部变量:$GLOBALS("变量名"),global关键字

=============================================================

任务

  计算器

   

 1 =========================================
 2 html 使用表单,做出来基本的计算器的界面
 3 =========================================
 4 <html>
 5 <head>
 6 <meta http-equiv="content-type" content="text/html;charset=utf-8">
 7 </head>
 8 
 9 <body>
10     <form method="POST"  action="">
11         <input type="text" name="first" size="5"/>
12         <select name="opr">
13             <option value="+">+</option>
14             <option value="-">-</option>
15             <option value="*">*</option>
16             <option value="/">/</option>
17             <option value="%">%</option>            
18         </select>
19         <input type="text" name="second" size="5"/>
20         <span>=</span>
21         <input type="text" />
22         <input type="submit" nam="submit" value="提交" />        
23     </form>
24 </body>
25 
26 
27 =========================================
28 使用PHP计算表单提交的内容
29 =========================================
30 <html>
31 <head>
32 <meta http-equiv="content-type" content="text/html;charset=utf-8">
33 </head>
34 <?php
35     //PHP计算器
36     //可以输入两个数值,可以选择操作符号,返回计算结果
37     //要在当前直接显示结果,还要保护用户的操作
38     
39     if(!isset($_POST[\'submit\'])){
40         //直接访问
41     }else{
42                 //提交数据,进行运算
43         $first = $_POST[\'first\'];
44         $second = $_POST[\'second\'];
45         $opr= $_POST[\'opr\'];
46         
47                 //计算结果,先初始化为0
48         $res=0;  
49         
50         //根据操作符来计算结果
51         switch($opr){
52             case \'+\':
53                 $res= $first + $second;
54                 break;
55             case \'-\':
56                 $res= $first - $second;
57                 break;
58             case \'*\':
59                 $res= $first * $second;
60                 break;
61             case \'/\':
62                 $res= $first / $second;
63                 break;
64             case \'%\':
65                 $res= $first % $second;
66                 break;                
67         }        
68     }
69 ?>
70 <body>
71     <form method="POST"  action="">
72         <input type="text" name="first" size="5" value="<?php echo isset($first)?$first:\'\'; ?>" />  <--!PHP语句的作用:提交后,显示用户输入的数据 -->
73         <select name="opr">
74             <option value="+" <?php echo isset($opr)?(($opr==\'+\')?\'selected="selected"\':\'\'):\'\'?>>+</option>
75             <option value="-" <?php echo isset($opr)?(($opr==\'-\')?\'selected="selected"\':\'\'):\'\'?>>-</option>
76             <option value="*" <?php echo isset($opr)?(($opr==\'*\')?\'selected="selected"\':\'\'):\'\'?>>*</option>
77             <option value="/" <?php echo isset($opr)?(($opr==\'/\')?\'selected="selected"\':\'\'):\'\'?>>/</option>
78             <option value="%" <?php echo isset($opr)?(($opr==\'%\')?\'selected="selected"\':\'\'):\'\'?>>%</option>                
79         </select>
80         <input type="text" name="second" size="5" value="<?php echo isset($second)?$second:\'\'; ?>" />  <--!PHP语句的作用:提交后,显示用户输入的数据 -->
81         <span>=</span>
82         <input type="text" readonly disabled size="5" value="<?php echo isset($res)?$res:\'\'; ?>" />         <!--readonly 只读(禁止输入)  disabled 失去光标--> <--!PHP语句的作用:提交后,显示运算的结果 -->
83         <input type="submit" name="submit" value="提交" />        
84     </form>
85 </body>
86 
87 =============================================
88 PHP语句说明
89 
90 //提交数据后,运算符会默认选择第一个符号
91 //为了让提交数据,显示用户提交时选择的运算符,而使用selected="selected"
92 //本程序主要使用PHP来编写计算器,因此使用如下语句,【可以使用JS等来实现,也是允许】
93 <?php echo isset($opr)?(($opr==\'+\')?\'selected="selected"\':\'\'):\'\'?>
94 
95 //从php中,接收php运算的结果
96 value="<?php echo isset($res)?$res:\'\'; ?>"
97             
php--计算器

   九九乘法

    

 1 <?php
 2     //函数内进行乘法法则的运算
 3     function calculator($rows){
 4         for($row=1;$row<=$rows;++$row){
 5             for($col=1;$col<=$row;++$col){
 6                 echo "$row * $col = ".($row*$col)."\\t";
 7             }
 8             echo "<br />";
 9         }
10     }
11 
12     //调用函数,传递的行数为12[大于0的整数]
13     calculator(9);
14 ?>
15 
16 结果(示例)
17 1 * 1 = 1
18 2 * 1 = 2 2 * 2 = 4
19 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
20 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
21 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
22 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
23 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
24 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
25 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 
php--九九乘法

 

  1. 函数的默认值  
    1. 主要:对于有参数的函数,若没有给函数传递参数时,函数就会使用自身定义的默认值,作为参数传入
    2. 例子:
       1 <?php
       2     //函数内进行乘法法则的运算
       3     function calculator($rows=10){
       4         for($row=1;$row<=$rows;++$row){
       5             for($col=1;$col<=$row;++$col){
       6                 echo "$row * $col = ".($row*$col)."\\t";
       7             }
       8             echo "<br />";
       9         }
      10     }
      11 
      12     //调用函数,传递的行数为12[大于0的整数]
      13     calculator();
      14 ?>
      15 
      16 结果:
      17 1 * 1 = 1
      18 2 * 1 = 2 2 * 2 = 4
      19 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
      20 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
      21 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 
      php--给函数设置默认值

       

        

    

=============================================================

匿名函数

  定义:没有名字的函数

  语法:变量名 = function(参数列表) {//函数体};

      

  问题:1、没有名字的函数如何定义   

      函数的定义在编辑阶段,会被系统存放到代码区,会有一个内存地址,需要通过变量来保存函数的内存地址

       2.没有名字的函数如何调用

      1.调用函数必须有括号,函数的调用实际是在栈里开辟内存空间,把函数体给加载进来,逐行执行。

      2.通过变量保存的函数的内存地址,来讲函数给取出放到栈里

      3.告诉系统,取出来的数据是一个函数,系统需要当做函数来处理,增加一个括号

 

  匿名函数的作用?

     1.是一种允许的语法结构

     2.一般是用于函数的参数(主要)   

  

 1 <?php
 2     
 3     //定义匿名函数,将函数赋值给变量
 4     $name=function(){
 5         return "风马一族";
 6     };
 7     
 8     //调用匿名函数
 9     echo $name();
10 ?>
php--匿名函数的使用示例

  方法: 使用function(){//函数体} 定义函数

     $name = function(){//函数体};     //将函数赋给变量,记得加上分号  ;

       $name();    //给变量加上括号 ()  ,相当于让系统承认它是一个函数,而不是变量

=============================================================

伪类型

  mixed : 说明一个参数可以接受多种不同的(但不一定是所有的)类型

      例如: gettype() 可以接受所有的PHP类型  //获取变量的类型   http://php.net/manual/zh/function.gettype.php

         str_replace()可以接受字符串和数组

  number : 说明一个参数可以是integer 或者 float

  callback : 回调类型

       示例代码

 1 <?php
 2     
 3     function myfunc($func_name,$name=\'东京\'){
 4         
 5         $name .= \'你好\';
 6 
 7         $func_name($name);
 8     }
 9 
10     function display($welcome){
11         echo $welcome." you are sows";
12     }
13 
14     myfunc(\'display\',\'淘宝\');
15     
16 ?>
php--回调示例代码

 

   

  void:  1 作为返回类型意味着函数的返回值是无用的。

       2 作为参数列表意味着函数不接受任何参数

       ...  : 在函数原型中,$... 表示等等的意思,当一个函数可以接受任意个参数时使用此变量名

=============================================================

 可变函数

  可变变量:将一个变量的值当做一个变量的名字,从而去获取另个变量的值 $$变量名

  可变函数,通过一个变量,获取其对应的变量值,然后通过给该值增加一个括号(),让系统认为该值是一个函数,从而当作函数来执行

        

 1 <?php
 2     
 3     function display(){
 4         //函数体
 5     }
 6 
 7     $var = \'display\';
 8 
 9     $var();
10     
11 ?>
php--可变函数的示例

 

 1 <?php
 2     
 3     //自定义函数
 4     function sows(){
 5         
 6         return  "you are sows";
 7     }
 8     
 9     //将自定义函数的名称,赋给变量
10     $name="sows";
11     
12     //给变量添加(),让系统来把变量,当作函数来使用
13     echo $name();
14 ?>
php--可变函数的使用示例

 

=============================================================

数据类型转换

  指的是将数据(变量)的值转换成目标数据类型

  PHP中有两种数据类型转换方式:自动转换、强制转换

 

    1. 自动转换:系统根据操作所需要的类型将变量的值进行对应类型的转换

                 自动转换都是系统本身所做的事情,不需要用户去干预

          

    2. 强制转换: 根据具体的需求,将变量的值事先转换成所需的数据类型

      int  integer : 整型,将数据转换成整型 

      bool  Boolean: 将数据值换成布尔值

      float : 转换成浮点型

      string : 转换成字符型

      array :转换成数组类型

      object : 转换成对象类型

    

  语法: (数据类型)变量

     

    1. var_dump 把变量的类型及长度还有数据值都输出

    2. 通过函数gettype函数,获得数据的类型,返回一个字符串

    

    疑问:为什么会两种变量类型 , float  or double?

  设置数据类型:settype($var,\'类型\')   《======》   (类型)$var;

    

    示例

    

  规则如下

  1.  字符串只有以数值或者小数点开始的时候,系统才会有可能将字符串进行数值转换,要不然直接转换成0

  2. 若出现一个英文句号,则把句号后面的数字视为小数部分

  4. 只读取前面连续的数值,没有字母或者其他特殊字符

  3. 只读取一个句号

  4.如果有小数点最终保留,那么数据类型变成浮点型,否则是整型

=============================================================

判断数据类型 

  PHP提供了一些函数来判断数据的类型,函数都是以is_开头,后面跟数据类型。

  如果是目标类型则返回true , 否则返回false;

  //标量

  is_scalar   检测变量是否是一个标量

  is_array    检测变量是否是数组

  is_bool     检测变量是否是布尔型

  is_float    检测变量是否是浮点型

  is_real  此函数是 is_float() 的别名函数  

  is_integer   检测变量是否是整型

  is_long  检测变量是否是整型

  is_finite  判断是否为有限值

  is_infinite 判断是否为无限值

  is_object    检测变量是否一个对象

  is_subclass_of   如果此对象是该类的子类,则返回 TRUE

  is_numeric  检测变量是否为数字或数字字符串

  is_string   检测变量是否是字符串

  is_tainted  检查字符串是否被污染(被修改)

 

  //特殊

  is_null     检测变量是否是空值

  is_resource  检测变量是否为资源类型

 

  //文件

  is_writable  判断给定的文件名是否可写

  is_file  判断给定文件名是否为一个正常的文件

  is_readable  判断给定文件名是否可读

  is_uploaded_file  判断文件是否是通过 HTTP POST 上传的

  is_link  判断给定文件名是否为一个符号连接

  is_dir  判断给定文件名是否是一个目录

  is_executable — 判断给定文件名是否可执行

 

  //无分类

  is_callable  检测参数是否为合法的可调用结构

  is_soap_fault  检查SOAP调用是否失败

  is_nan  判断是否为合法数值

  iis_set_app_settings  创建虚拟目录的应用程序作用域

  示例  php是弱类型的,因此 1 相当true

  

 


 

文件包含  

  1.网站网页的分层设计,将不同的数据(一些公共的显示数据),整理出来,形成一个单独的文件。只需要在其他html代码界面中,需要用到的时候,直接包含(加载)。

  

  案例

    1. 所有内容在一个页面

    


 

    1:所有内容分成多个页面存放

      index.php

    

        header.php                             footer.php

               


 

  2.代码的重用:PHP所写的函数功能,类文件、配置文件等。在需要应用这些代码的时候,直接将文件给包含即可

    语法: <?php include \'文件的路径\'  ?>

    文件包含 include、include_once、require、require_once,将一个文件的内容包含进另外一个文件。

      include、require 使用一次包含一次文件 

      include_once、require_once 脚本中包含另个脚本多次,但只加载一次

      include 语句包含并运行指定文件,若找不到文件,会提示警告,并继续运行【E_WARNING

      require 语句包含并运行指定文件,若找不到文件,会提示错误,并终止运行【E_COMPILE_ERROR

    示例: include使用示例

       

        include出错的表现

     

      require的使用示例

     

      require出错的表现

     

 

     连接数据库的示例

      index.php  主页

    

      public.php  连接数据库的指令

    

      mysql.php 保存数据库的连接信息

    

    

  

 


 文件的包含路径

  文件路径有两种:绝对路径和相对路径

    绝对路径:从磁盘根目录到文件所在的目录

    相对路径:文件相对当前文件所在的位置,相当一个参照物(一般就是文件 )

 

    1.相对路径表示方式:

      ./ :表示当前目录

      ../  :表示上级目录

       /   :网站根目录

    2.文件嵌套包含

      绝对路径

        好处:在文件嵌套包含中不会出现问题

        坏处:修改文件位置时,需要修改文件的路径

      相对路径

        坏处:在文件嵌套包含中易出现问题

        好处:文件路径修改,比较简单

      注意:文件嵌套包含时,使用绝对路径较佳

 

   


终止脚本执行

  终止脚本执行,指的是通过一条语句告诉PHP引擎,此语句之后的其他语句不需要执行。

  PHP提供了三种方式来终止脚本执行:return、die、exit

    return : 执行到该处退出,如果是在函数中,表示退出函数,如果是在脚本中,表示脚本停止执行。

        函数的return是返回函数调用的地方,脚本的return是返回给脚本被包含的地方。

     示例 return方式

      ======================

      php04_index.php :包含文件,用来包含其它的文件

        

      php03_return.php  :被包含,而且将自身资源返回给包含文件

      

      ==========================

      die的方式

        

      ===========================

      exit

      

      ===========================

    基于以上可能,所以PHP的配置文件(项目配置文件:数据库的连接信息信息等),采用以上方式


 

 系统函数

  字符串函数

    strlen: 计算字符串的长度 

      语法:strlen("字符串");       

 1 <?php
 2     header(\'Content-type:text/html;charset=utf-8\');
 3 
 4     $str=\'You are sows\';
 5 
 6     $name="我是中国人";
 7 
 8     var_dump(strlen($str));
 9     var_dump(strlen($name));
10 
11 ?>
12 
13 ====================================
14 结果:
15     int(12)          //$str=\'You are sows\';   十个字母  = 两个空格 =12
16 
17     int(15)         //$name="我是中国人";     五个汉字 *3  =15
18 
19 ====================================
20 说明: 
21     gbk | gb2312 编码里, 中文占用两个字节
22 
23     utf-8  编码里,中文占用三个字节
php--strlen-计算字符串的长度

 

    

    ==============

    substr : 获取字符串中的子字符串

      语法:substr("字符串",截取的起始位置,截取长度);       //截取长度需要根据编码的字节占用量来考虑

 1 <?php
 2     header(\'Content-type:text/html;charset=utf-8\');
 3 
 4     $str=\'You are sows\';
 5 
 6     $name="我是中国人";
 7 
 8     var_dump(substr($str,0,2));        
 9     var_dump(substr($name,3,3));
10 
11 ?>
12 ==========================
13 结果:
14     string(2) "Yo"                       //截取的位置从0开始,字节长度为2  
15     string(3) "是"                        //截取的位置从3开始,字节长度为3
16 
17 ==========================
18 说明:
19        1. 字符串的字符位置:是从左到右用0开始计算
20 
21        2. 一个字符在不同编码规范中,占用字节数不同,
22            因此,截取长度需要根据编码进行考虑。
23            例如:在ascll中截取5个字符,截住长度是5
24                     在utf-8中截取5个字符,截取长度是15
25         
26     
php--substr-获取子字符串

 

    

    ==============

    strtolower将字符串转化为小写

      语法:strtolower("字符串");

 1 <?php
 2     header(\'Content-type:text/html;charset=utf-8\');
 3 
 4     $str=\'You Are sows\';    
 5 
 6     var_dump(strtolower($str));
 7 
 8 ?>
 9 
10 结果:
11     string(12) "you are sows"     //有大写变小写,没有的,不用管
php--strtolower-大写变小写

 

  

    ==============

    strtoupper: 将字符串转化为大写

      语法:strtoupper("字符串");

 1 <?php
 2     header(\'Content-type:text/html;charset=utf-8\');
 3 
 4     $str=\'You Are sows\';
 5 
 6     
 7 
 8     var_dump(strtoupper($str));
 9 
10 ?>
11 
12 ==============================
13 结果:
14     以上是关于风马一族_php的主要内容,如果未能解决你的问题,请参考以下文章

风马一族_php

[风马一族_php]PHP与Mysql建立连接

风马一族_php搭建web服务器

风马一族_Android通过菜单的点击,跳转到不同界面

风马一族_mysqlmysql基本指令

风马一族_硬件温度测量器