php学习笔记

主页 > 学习 > php >

mate 231
php
标题
副标题
解释
格式
变量
 
 
//引用变量(共用一个内存地址)
$var = 20;
$var2 =      &$var;
$var = 30;
echo  $var2;
 
 
 
$int = pow(2,3);
$float =      pow(2.1,3);
var_dump($int);
echo      '<br/>';
var_dump($float);
常量
自定义常量
(1)自定义常量
        1.常量:程序中不可改变的量叫常量,值的标识符
                常量一旦定义不可以更改 
 
 
常量的声明
2.常量的声明:
             a.define('常量名称','值');
             b.const 常量名称='值';
 
 
常量的输出
3.常量的输出
 
        a.直接输出常量的名称 echo      常量名称
        b.echo      constant('常量名称');
 
 
常量的名称规范
4.常量的名称规范
             a.常量尽量大写
             b.常量不包含$
             c.常量都是标量类型
               说明:所有的常量都是全局变量 
 
 
defined() 判断常量是否存在
5. defined() 判断常量是否存在
       (2)系统常量
   PHP_INX_MAX 整数最大值
   PHP_VERSION      PHP版本
   PHP_OS 操作系统
 
 
魔术常量
(3)魔术常量
        __Line__:获得当前的行号
 
        __FILE__:获得当前文件的绝对路径
 
        __DIR__:获得当前文件目录的绝对路径
 
        __FUNCTION__:获得函数名称
 
        __CLASS__:获得类名称
 
        __METHOD__:获得类方法名称
 
        __NAMESPACE__:获得命名空间
 
数据类型转换
 
 PHP属于'弱'语言,数据类型会根
             据运行环境自动转换数据类型

 
 
settype
是设置数据类型
格式: bool settype(mixed &$var,string      $type)   
        如果成功返回true,否则失败
 
//
$int = 20;
$float = 2.56;
$bool =      true;
$str ='hello';
 
settype($str,'float');
var_dump($str);
 
echo '<br/>';
echo      gettype($str);
 
gettype
获取数据类型
格式: string gettype(mixed      &$var)
//
settype($int,'boolean');
echo      gettype($int);//获得变量数据类型
echo '<br/>';
echo      var_dump($int);

自动转换(隐式转换)
 
(1)自动转换(隐式转换)
                     转换成数值类型
               a.合法数字字符串,除了.,e,E      ,
                             并且不超出整数的最大范围自动转换成整型,
                             其他转换成浮点型
               b.不合法的数字字符串,如果以数字开头后面
                              不合法转换成数值如果以不合法的数字开头
                              转换成0
          c.空字符串      转换成0
               d.null转成0
          e.布尔值      true转换成1,false转换成0
 
转换成字符类型

             例如:
           $a =      '20.3';
                echo 8 +      $a;//28.3
                $a =      '12ereer';
                echo 8 +      $a;//20
           $a      = 'a13';
                echo 8 +      $a;//8
           $a      =      '2.5.63';
                echo 8 +      $a;//10.5
                $a = '';
                echo 8      +$a;//8
           $a      = null;
                echo 8      +$a;//8
           $a      = true;
                echo 8      +$a;//9
           $a      = 'true';
                echo 8      +$a;//8
                     转换成字符类型
               a.数值类型转换成字符类型就是数值本身
               b.布尔类型转换成字符类型      true转成1
                 false空字符串
          c.null      转换 空字符串
          d.数组 转成      Array
          e.资源转成      Resource id      #数字
                       例如:
                  $a =      '2.56';
                  echo      $a;//2.56
                  $a =      '20';
                  echo      $a;//20
                  $a =      null;
                  echo      $a;//空字符串
                  $a =      'null';
                  echo      $a;//null
                  $a =      true;
                  echo      $a;//1
                  $a =      'true';
                  echo      $a;//true
                     转换成布尔类型
                          只要下面情况转成false如下:
               a.布尔值false
               b.空字符串
               c.null
               d.整数0,浮点数0.0,字符串'0',"0"
               e.没成员的数组array()(空数组)
                         除此之外都转换成true
 
强制转换(显式转换)
 
a.数值转换为字符就是其数值本身
            b.布尔值转为字符 true 转换      1,false 
                        空字符串
            c.NULL转为空字符串
       d.数组转换为      Array字符串
       e.资源转换为 Resource id #数字      字符串
                 自动转换布尔
                    以下情况是转换为false:
        a.布尔值得      false
             b.空字符串
        c.整型 0,浮动型 0.0,数值字符串      '0' "0"
             d.NULL
        e.空数组      array()
                     除上面的情况其他都转为true; 
$int = 20;
$float = 2.56;
$bool =      true;
$str ='hello';
//转换成整型
var_dump((int)$float);
echo      '<br/>';
var_dump((integer)$float);
echo      '<br/>';
var_dump($float);
echo      '<br/>';
//转换成浮点
var_dump((float)$bool);
echo      '<br/>';
var_dump((double)$bool);
echo      '<br/>';
var_dump((real)$bool);
echo      '<br/>';
//转换成布尔类型
var_dump((bool)$int);
echo      '<br/>';
var_dump((boolean)$int);
echo      '<br/>';
//转换成字符类型
var_dump((string)$int);
echo      '<br/>';
var_dump((string)$bool);
echo      '<br/>';
//转换成数组
var_dump((array)$int);
//转换成对象
echo      '<br/>';
var_dump((object)$int);
echo      '<br/>';
 
 
var_dump($int);
/* $int =      (float)$int;//临时转换但将转换结果又赋给原值
var_dump($int);    */
 
临时转换(变量临时转换成,变量本身没换)
 a.临时转换(变量临时转换成,变量本身没换)
               (int)$var|(integer)$var转换成整型
               (float)$var|(double)$var|(real)$var
                            转换成浮点型
               (bool)$var|(boolean)$var转成布尔类型
               (string)$var      转成字符类型
               (array)$var 转成数组
               (object)$var 转成对象
 
                        说明:浮点型转成整数向下取整
 

 
永久转换(变量本身换了)
  b.永久转换(变量本身换了)
 
    type      的可能值为: 
 
        “boolean”      (或为“bool”,从 PHP 4.2.0      起) 
        “integer”      (或为“int”,从 PHP 4.2.0      起) 
        “float” (只在 PHP      4.2.0      之后可以使用,对于旧版本中使用的“double”现已停用) 
             "string" 
             "array" 
             "object" 
        “null” (从 PHP      4.2.0 起) 
             返回值:如果函数执行成功返回true,执行失败返回false

 
 
 
数据类型8个主要类型和4个伪类型
 
标量数据类型
 
(存储单一信息)
 
 a.整型(Integer Int)
 
 
 
b.浮点型(Float Double)
 
 
 
c.字符类型(String)
 
 
 
(1)字符类型必须用定界符括起来
 
 
 
(2)定界符<<<
 
 
 
a.单引号(php中推荐使用单引号)
 
单引号不解析变量而双引号解析变量
 
b.双引号
 
双引号能解析所有转义字符而单引号
                 只能解析 \\ \'  
 
c.HereDOC
 
说明:用在大段文档中,比如XHTML,CSS,JS
                      等大段代码使用。
                       能解析变量和转义字符
                     结束定界符名称放到行首
$变量名称=<<<定界符名称开始
              ....
定界符名称结束;
d.NowDOC
 
说明:用在大段文档中,比如XHTML,CSS,JS
                      等大段代码使用。
                      不能解析变量和转义字符
                     结束定界符名称放到行首
$变量名称=<<<'定界符名称开始'
              ....
定界符名称结束;
转义字符
 
(只能在html源码中看到)
\\ 反斜杠
            \' 单引号
       \"      双引号
       \n      换行
       \r      回车
       \t      水平制表符
       \v      垂直制表符
 
双引号和单引号使用
 
(5)双引号和单引号的HTML实体和转义字符使用:
 
          (1)双引号和单引号在浏览器中输出现实php中
                        必须用HTML实体实现
                       (W3C组织规定在浏览器中的特殊符号必须HTML实体)
          (2)双引号和单引号在浏览器的源码中实现php中用
                        转义字符
 
大括号
 
在双引号中的变量,PHP能解析,
                   但PHP引擎会尽可能多的取合法字
                   符串作为变量名称,如果想告诉PHP
                   引擎到此位置,可以用大括号将变量
                   名称括起来
 
                  说明:大括号形式可以对一个字符进行获得和修改
                          编号从0开始
                         当编号的位数大于字符串总长度,用一个空格填补
 
d.布尔类型 (Boolean Bool)
 
 
 
复合数据类型
 
(存储多个信息)
 
a.数组 (Array)
 
 
 
b.对象 (Object)
 
 
 
特殊数据类型
 
a.资源(Resource)
 
a.资源(Resource)
 
操作磁盘或网络中的文件,
                       不能声明资源,必须用特殊的函数去实现
                      例如:打开文件/目录函数,GD函数等  
 
b.NULL null
 
NULL,null
               (1)声明变量但未赋值
               (2)声明变量赋      NULL,null值
               (3)unset()函数删除变量中的值
 
4个伪类型
 
 
 
混合类型(mixed)
 
所有类型都可以,mixed 
              说明一个参数可以接受多种不同的
              (但不一定是所有的)类型
string gettype(mixed    $var);
数值类型(number)
 
整型和浮点型叫数值类型
例如: pow(2,3);      2的三次幂8
                 pow(2.1,3);9.261
    number pow ( number $base , number      $exp )
void类型
 
说明:
               当void在返回值上,代表返回值空
               当void在参数上,代表没有参数 
void echo ( string $arg1 [, string $... ]      )
callback类型
 
将函数作为另一个函数的参数使用
//方法二:callback类型:      将strtolower函数作为另一个函数array_map的参数使用
 
 $arr3 =      array_map(strtolower,$arr);
 echo      '<pre>';
 print_r($arr3);
 echo      '</pre>';
字符串
 
 
 mixed strpos(string $str, mixed      $var)
常用
var_dump
打印变量的相关信息
            此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。 
var_dump(变量,变量);
 
print_r
print_r —      打印关于变量的易于理解的信息。 
       print_r()      显示关于一个变量的易于理解的信息。如果给出的是 string 、 integer 或 float ,将打印变量值本身。如果给出的是 array      ,将会按照一定格式显示键和元素。 object 与数组类似。 
 
记住, print_r() 将把数组的指针移到最后边。使用      reset() 可让指针回到开始处。 
 
 
strlen
字符串总长度
echo    strlen($var);//字符串长度
 
unset
函数,表示清空变量的某一个值
 
 
ord
返回字符的 ASCII 码值      (数字)
/*
 *判断变量 $var      ='tom';
 *首字母是否是小写 
 * ord($var{0})>=97 并且      ord($var{0})<=122
 */
$var = 'tom';
$str =      ord($var{0});//截取第一个首字母并且得ASCII值
//echo $str;
if($str>=97      && $str<=122){
     echo '首字母是小写      ';
}else{
     echo '首字母不是小写      ';
}
 
isset()
检测变量是否设置,并且不是 NULL 。 如果已经使用 unset()      释放了一个变量之后,它将不再是 isset() 。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE      。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。 
 
 
empty()
检查一个变量是否为空, 如果 var      是非空或非零的值,则 empty() 返回 FALSE 。换句话说,""、0、"0"、 NULL 、 FALSE 、array()、var      $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE 。 除了当变量没有置值时不产生警告之外, empty()      是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。 
 
运算符
 
程序执行的代码运算,并且有一个以上操作数参加运算表达式由运算符和操作数组成
 
运算符的分类
 
a.运算符的分类
b.按参与运算的操作数的个数分
 
算数运算符
-(负号),+(正号),
                    +(加) -(减)      *(乘)
                    /(除)      %(取模,求余数)
                                   递增(自增++),递减(自减--)
       说明:
              (1)结果都是数值类型
              (2)算术运算符运算前,将操作数转换为数值类型
              (3)余数运算之前,要将操作数转换为整数,也就
                             是求整数的余数
              (4)余数运算的符号与被除数一致
         (5)      可以用fmod函数实现 求浮动数的余数
 
 
余数运算的符号与被除数一致
 
echo 8.5 % 3.5,'<br/>';//8%3=2
echo      -8.5 % 3.5,'<br/>';//-2
echo -8.5 %      -3.5,'<br/>';//-2
echo 8.5 % -3.5,'<br/>';//2
echo 3 %      11,'<br/>';//3
echo 8.5 %      11,'<br/>';//8
 
fmod
可以用fmod函数实现求浮动数的余数,否则自动转换为整数
echo      fmod(8.5,3.5),'<br/>';//8.5%3.5=1.5
echo      fmod(-8.5,3.5),'<br/>';//
echo      fmod(-8.5,-3.5),'<br/>';
echo      fmod(8.5,-3.5),'<br/>';
 
++(自增) --(自减)
前缀形式:先变量自身加1或减1,后使用
后缀形式:先使用,后变量自身加1或减1
说明:
               (1)数值类型支持自增自减
               (2)布尔不支持自增自减
               (3)null支持自增不支持自减
               (4)字符串支持自增不支持自减

$a = 5.5;
$b = 7;
$c = 6;
$d =3;
echo      ++$a,'<br/>';//6.5
echo $b++,'<br/>';//7
echo      $b,'<br/>';//8
 
echo --$c,'<br/>';//5
echo      $d--,'<br/>';//3
echo $d,'<br/>';//2
//判断自增自减
$i = 5;
$j = 9;
$k;
        ++$i;
   $k= $j++;
   $j++;
   echo      $i,$j,$k,'<br/>';//6 11 9
echo '<hr/>';        
//
$i = '12';
$j = 5;
 
echo $i + $j;//17
echo      '<br/>';
echo $i - $j;//7
echo '<br/>';
echo $i *      $j;//60
echo '<br/>';
echo $i / $j;//2.4
echo      '<br/>';
echo $i % $j; //2
 
echo      '<br/>';
 
echo 8.5%3.5;//2
echo      '<br/>';
echo 9% 2.9;//1
echo '<br/>';
echo      -8.5%3.5;
echo '<br/>';//-2
echo -8.5%-3.5;//-2
echo      '<br/>';
echo 2%11;//2
echo '<br/>';
echo      5%11;//5
echo '<br/>';
echo fmod(8.5,3.5);//1.5
echo      '<br/>';
echo fmod(-8.5,3.5);//-1.5
echo      '<br/>';
echo fmod(-8.5,-3.5);//-1.5
 
/* 
 *$i='8.9.3a';
 *$j =      2; 
 * echo $i+$j;
 * echo $i-$j;
 * echo      $i*$j;
 * echo $i/$j;
 * echo $i%$j;
 * echo      -$i%$j;
 * echo -$i%-$j;
 */
echo      '<br/>';
$i='8.9.3a';
$j = 2;
echo $i+$j;//10.9
echo      '<br/>';
echo $i-$j;//6.9
echo '<br/>';
echo      $i*$j;//17.8
echo '<br/>';
echo $i/$j;//4.45
echo      '<br/>';
echo $i%$j;//0
echo -$i%$j;//0
echo      -$i%$j;//0
echo -$i%-$j;//0
echo      '<hr/>';
//1.数值类型支持自增自减
$a =5.5;
$b = 7;
echo      ++$a;//6
echo '<br/>';
echo $b++;//7
echo $b;//8
echo      '<br/>';
$a =5.5;
$b = 7;
echo --$a;//4
echo      '<br/>';
echo $b--;//7
echo $b;//6
 
 
$n = 3;
$m =9;
$k;
echo '<br/>';
echo      --$n;//2
echo '<br/>';
$k = $m--;
echo $m,$k;//8,9
echo      '<br/>';
$i =2;
echo $i++ + ++$i;// 2 + 4=6
echo      '<hr/>';
//2.布尔值是否支持自增自减--不支持
$var = true;
echo      ++$var;//1
echo '<br/>';
echo $var++;//1
echo      '<br/>';
echo $var;//1
$var = true;
echo      '<br/>';
echo --$var;//1
echo '<br/>';
echo      $var--;//1
echo '<br/>';
echo $var;//1
echo      '<hr/>';
//3.null是否支持自增自减--支持自增不支持自减
$var = null;
echo      ++$var;//1
echo '<br/>';
echo $var++;//1
echo      '<br/>';
echo $var;//2
echo '<br/>';
$var =      null;
echo --$var;//echo null 空字符
echo '<br/>';
echo      $var--;//echo null 空字符
echo '<br/>';
echo $var;//echo null      空字符
echo      '<hr/>';
//4.字符类型是否支持自增自减--支持自增不支持自减
 
$var = 'a';
echo ++$var;
echo      '<br/>';
$var ='z';
echo ++$var;
echo      '<br/>';
$var = 'a';
echo --$var;
echo      '<br/>';
/* 
   ord():返回字符的 ASCII      码值 
   chr() :返回指定的字符
 */
$var = 'a';
$var      = ord($var);
echo $var;
$var = chr(98);
echo      $var;
 
 
echo '<hr/>'; 
$var = '3b';
echo      ++$var;//3c;
echo '<br/>';
$var = '3z';
echo      ++$var;//4a;
echo '<br/>';
$var = '9z';
echo      ++$var;//10a;
echo '<br/>';
$var = 'z9';
echo      ++$var;//aa0;
echo '<br/>';
/* 
 * $i =      4;
 * $j = 1; 
 * echo $i++ + ++$j;
 * $i =      4;
 * $j = 1; 
 * echo $i-- + --$j;
 * $a      =2;
 * $b = 3;
 * $c;
 * $a++;
 * $c =      ++$b;
 * echo $a,$b,$c;
 * $var = null;
 * echo      $var++;
 * echo $var;
 * $var = 'null';
 * echo      $var++;
 * echo $var;
 * 
 * $var      ='z8';
 * $var++;
 * $var++;
 * echo      $var;
 */
echo '<hr/>';
$i = 4;
$j = 1;
echo      $i++ + ++$j;//4 + 2 =6
echo '<br/>';
$i = 4;
$j =      1;
echo $i-- + --$j;//4+0=4
echo '<br/>';
$a =2;
$b =      3;
$c;
$a++;
$c = ++$b;
echo $a,$b,$c;//3,4,4
echo      '<br/>';
$var = null;
echo $var++;//空字符串
echo      $var;//1
echo '<br/>';
$var = 'null';
echo      $var++;//null
echo '<br/>';
echo $var;//nulm
echo      '<br/>';
$var ='z8';
$var++;
$var++;
echo      $var;//aa0
 
字符串支持自增不支持自减
 
//字符串支持自增不支持自减
echo '<hr/>';
$var =      'a';
echo ++$var,'<br/>';//b
echo      $var++,'<br/>';//b
echo $var,'<br/>';//c
$var =      'a';
echo --$var,'<br/>';//a
echo      $var--,'<br/>';//a
echo      $var,'<br/>';//a
字符运算符
 
将多个字符串连接的运算(.),字符运算符是对字符的运算,      连接两个字符串可以用连接运算符'.'

$var ='z';
echo      ++$var,'<br/>';//aa
$var ='Z';
echo      ++$var,'<br/>';//AA
$var ='3a';
echo      ++$var,'<br/>';//3b
$var ='3z';
echo      ++$var,'<br/>';//4a
$var ='9z';
echo      ++$var,'<br/>';//10a
$var ='z9';
echo      ++$var,'<br/>';//aa0
 
ord
把字符串转换成数字输出
echo      ord('a'),'<br/>';//97
 
chr
返回指定的字符
echo      chr(98),'<br/>';//b
赋值运算符
= += -= *= /= %= .=
说明:
              (1)赋值运算符的结果与操作数有关
 
 
=
表示赋值
$a = 5; //右结合(从右往左)
echo $a +      7,'<br/>';//左结合(从左往右)
 
+=
表示加多少等于变量
$a = 5;
$a += 7; //$a = $a +7;
echo      $a,'<br/>';//12
 
-=
表示减多少等于变量
$a = 5;
$a -= 7;// $a = $a -7;
echo      $a,'<br/>';//-2
 
*=
表示乘法多少等于变量
$a = 5;
$a *= 7;
echo      $a,'<br/>';//35
 
/=
表示除多少等于变量
$a = 14;
$a /= 7; // $a = $a / 7;
echo      $a,'<br/>';//2
 
%=
表示求余数
$a = 16;
$a %= 7; // $a = $a % 7;
echo      $a,'<br/>';//2
 
.=
点表示连接
$var = 'hello';
$var2      ='world';
echo $var,$var2,'<br>';
echo      '<br/>';
$str = $var.$var2;
echo      $str,'<br/>';
$var = '<span      style="color:red">mt_rand(1000,9999)</span>';
echo      $var,'<br/>';
 
$var = '<span      style="color:red">'.mt_rand(1000,9999).'</span>';
echo      $var,'<br/>';
//输出表格
$var = 'ddd';
$str      ='';
$str.='<ul>'; // $str=      $str.'<ul>';
$str.='<li>';
$str.=$var;
$str.='</li>';
$str.='<li>';
$str.=$var;
$str.='</li>';
$str.='</ul>';
echo      $str;

比较运算符
> >= < <= ==      !=(不等于)
                     <>(不等于)      ===(全等于)
                     !== (不全等于)
       说明:
              (1)比较运算符的结果是布尔值
              (2)类型转换规范
                 a.两个字符串或null比较,null转换为      空字符串,按数字或单词比较 
                 b.布尔或null      跟其他数据类型比较转换为布尔
                   true >      false
                 c.字符串或数字跟数字比较转换为数值类型
               (3)什么时候用全等于和不全等于
                 PHP是弱语言,会根据运行环境自动转换
                             例如 '0',"0"      0,0.0会自动转换为布尔
                             值,为了忽略PHP产生的自动转换用全等于
                             和不全等于
// 两个字符串或null比较
// null转换为      空字符串,按数字或单词比较
 
var_dump(
        'a'>='a', //true
   'a'>'a',//false
        'a'<='a',//true
   'a'<'a',//false
        'b'>='a',// true
   'be'>='bf',//false      按位比较
   'Abcd'>='900',//true
随机新闻
收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!