PHP学习笔记

一、常量及数据类型的使用及函数

    1.数据类型之间的相互转换

        强制转换: setType(变量, 类型);   //类型:int , interger, float, double, real, bool, boolean, string, array, object.

                    1.  setType将会改变变量的原类型。   查看变量类型: var_dump();

                      2. 使用括号运算符"(类型)",不会改变原变量的类型,如 $a = (int)"12abc" ;

                      3.  或使用 intval(变量或值) floatval(变量或值)  stringval(变量或值)等做强制转换。

                      1会改变原变量的值,2、3不会。注意强转时数据类型的范围问题 

        自动转换: 最常用的方式,变量会根据运行环境自动转换

//例子:该例子说明变量根据环境自动转换
        $a = 10;
        $b = "100abc"
        $c = true;
        $d = 12.34;
        $sum = $a+$c+$b+$d;  
 //尝试所有组合,看看结果是怎样。

  2. 常用函数:

      与变量和类型有关的常用函数:

           

isset(); //判断变量是否被定义 null表示空,返回false

empty(); //判断一个变量是否为空,""、null

unset();

setType();

getType(); //得到类型

/*变量类型测试函数*/
is_bool() ;  is_int();  //类似这个格式的


/*打印数组*/
$a = array("one","two",1,2,3);
print_r($a);

     3. 常量的声明与使用

             1.常量是一个简单值的标识符

             2.常量定义后不能再改变他的值,不能使用unset()取消

             3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问。(全局变量在局部函数中只用要加”global $变量名“声明 )

             4.常量声明使用define("常量名",值);声明时必须赋值 (无法改变其值)

             5.defined("常量名") 

             6.常量的值只能用标量类型(int,float,bool,string)

             7.常量名习惯用大写

         预定义常量和魔术常量

              1. M_PI  圆周率

              2. _FILE_ (魔术常量,在不同情况下不同值)   

     

二、运算符及优先级、流程控制语句

    1.算术运算符:   与C语言类似。

    2.字符串运算符:  '.'   用于字符串与其他变量或常量连接 , 不会把原字符串改变

$a = "php";
$b = 789;
$c = "abc";
echo $a.123;   //输出php123
echo $a."456" //输出php456
echo $a.$b;     //输出php789
echo $a.$c;      //输出phpabc
echo $a;       //输出php

    3.赋值运算符: 与C语言类似

       ".="    字符串连接并赋值

$a = "php";
echo $a; //输出php
$a.=123;
echo $a; //输出php123

   4.位运算符:与C语言类似

   5.逻辑运算符:与C语言类似

   "=="   比较两边表达式的值是否相等

   "!=" 和 "<>"  : 不等号 , 比较两边表达式的值是否相等

   "==="  : 恒等于, 比较两边表达式的值和类型是否都一样

   "!==" : 恒不等于,比较两边表达式的值和类型是否存在不一样

$a = "5";
$b = 5;
echo $a == $b; //输出true
echo $a != $b; //输出false
echo $a === $b; //输出false
echo $a !== $b; //输出true

6.运算符优先级  

 

  7.流程控制

    与C语言类似。

 二、循环结构、系统函数和自定义函数

   1. 循环结构:与C语言类似

   2. 函数格式定义:

       (1) 返回值 函数名()

        (2)   返回值 函数名(参数1,参数2)

        (3)   函数名(参数1,参数2,返回值)

        (4)   返回值 函数名 (.....)调用符      即可以在函数调用返回值后加上'.'或'[]' 取数组和成员属性等

               如  String getA()[0]  String getA().getB() 。

              注意:string date(string format [, int time])   括号内代表可选。

   3. 自定义函数

       格式: 

function   funcName($arg1, $arg2, $arg3....){
     statement;
     return vals;
}

      注意:(1)function 开头

              (2)funcName 只能以下划线'_'或字母开头

               (3)funcName不能与关键字同名

       函数可以传引用,与C类似,如: function funcName( $arg1, &$arg2);    调用: echo function($a,$b)    则$arg2就是$b的引用

三、文件和文件夹操作

     filetype 返回是文件或文件夹  (file、dir、link)

     stat() 返回指定文件的基本属性  (较占内存,需清缓存)

     clearstatcache() 清缓存

     is_executable() 判断是否可执行

     is_dir() 判断是否存在或是文件夹

     is_file() 判断是否是文件

     scandir() 遍历文件夹/返回一个数组

     fopen(filename,mode) //打开或创建一个文件

     mode: 打开模式 r, r+, w, w+, a, a+

               r:只读模式,将文件指针指向文件头

               r+:读写模式,将文件指针指向文件头

              w: 写入模式,将文件指针指向文件头,并清除内容,如果文件不存在则尝试创建

              w+: 读写模式,将文件指针指向文件头,并清除内容,如果文件不存在则尝试创建

              a: 写入模式,将文件指针指向文件末尾,如果文件不存在则尝试创建

              a+:读写模式,将文件指针指向文件末尾,如果文件不存在则尝试创建

       fwrite(资源, 内容)  // 写入文件内容

       fgets(资源, 长度) // 获取文件内容

       fclose(资源) // 关闭一个打开的文件资源

       unlink(文件) // 删除一个文件

       资源:是调用文件函数系统返回的数据类型,类似系统的原语。

 1 <?php
 2     function bianli($fname,$dir,$times)
 3     {
 4         if($times == 3)
 5         {
 6             return;
 7         }
 8         if(is_dir($dir.$fname))
 9         {
10             echo $dir.$fname." is a dir
";
11             $p = scandir($dir.$fname);
12             foreach($p as $q)
13             {
14                // var_dump($q);
15                 bianli($q,$dir.$fname,$times+1);
16             }
17         }
18         else
19         {
20             echo $dir.$fname." is not a dir,return
";
21         }
22     }
23     $dir = scandir("d:\"); 
24     foreach($dir as $a)
25     {
26       //  var_dump($a);
27         bianli($a,"d:\",0);
28     }
29 ?>
递归遍历文件夹示例
原文地址:https://www.cnblogs.com/elenno/p/php.html