变量 笔记

类型定义:并不是自己设定的 而是根据变量的值决定的
变量是用于临时存储直的容器,可以是数字文本或者复杂的多的排列组合,适用于跟踪几乎所有类型信息的简单工具
php是一种非常弱的语言类型 PHP不要求在使用变量之前声明变量当第一次给一个变量赋值时,你才创建了这个变量
变量的声明
以$符号开始 后面跟大小写字母,数字和下划线,但是不能以数字开头
变量的命名
<?php
$a=100;
$b='www.baidu,com';
$c=true;
$d=99.99;
$key=$b;          //
$a=$b=$c=$d=666; //$a=$b=$c=$d,=666
?>
unset() 释放指定变量(销毁变量)
isset() 函数检测变量是否设置[结果是布尔值]
empty()函数检测一个变量是否为空[结果是布尔值 为空返回true]
var_dump() 打印变量的类型和值

$j='';
$k=null;
$l = falser;
以上三个都是空值

命名规则
字母或者下划线揩油,后面跟上任意数量的字母,数字,或者下划线
变量的名称是对大小写敏感的 
内置结构和关键字以及用户自定义的类名和函数名都不区分大小写 例如 echo while function

类型介绍
布尔型(boolean) 整型(integer) 浮点型(float\double) 字符串(String) 数组(Arrray) 对象(Object) 资源类型(Resource) null类型 
伪类型
    并不是PHP语言中的基本数据类型,只是因为PHP是弱类型语言所以在一些函数中,一个参数可以接受多种类型的数据,换可以接受别的函数作为回调函数使用,
    例子:    
        mixed:说明一个参数可以接受多种不同的(但并不必须是所有的)类型
        number:说明一个参数可以使int或者float
        callback:有些诸如call_user_funcation()或user()的函数接受用户自定义的函数作为一个参数,callback函数不仅可以是一个简单的函数,替换可以是一个对象的方法,包括静态类的方法
    一个PHP喊使用函数名字符串类传递,可以传递任何内置的或者用户自定义的函数 除了 array() echo() empty() eval() exit() isset() list() print() 和 unset()
        例子:
            function myfunctio($func_name,$name){
                $name = $name.'hello'; //$name=淘宝hello
                $func_name($name);//$display($name);
            }
            function display($welcome){
                echo $welcome; 
            }
            myFunc('display','淘宝')
;

PHP支持的八种原始类型

 布尔型(boolean) 
    被认定为false的值:
        布尔值的false;
        整型值 0
        浮点型值 0.0
        空白字符串和字符串“0”
        没有成员变量的数组
        没有单元的队形(仅适用于PHP4)
        特殊类型NULL
  整型(integer) 
    整型可以用十进制,至六景之或者八进制符号指定,前面可以加上可选的符号(- 或者+)代表值的正负数
    整数取值的最大使用范围,与平台有关,对于32位系统而言范围:-2147483648~2147483647,PHPH不支持无符号整型,如果超出了则变成float型 
  浮点型(float\double) 
    也叫双精度数或实数,是包含小数部分的数,通常用来表示整数无法表示的数据 通常最大值是1.8e308并具有14位十进制数字的精度
    注意:float((0.1+0.7)*10)通常会返回7 而不是语气的8 以内结果奈布表示的是7.9 就是不可能精确到用优先数表达某些十进制分数 永远不要相信浮点数结果精确到了最后一位 永远不要比较两个浮点数是否相等 如果需要更高精确度 使用任意精确度数学函数或者gmp函数
INF:正负无穷
  字符串(String)
    字符串是一系列字符。在PHP中,字符和字节一样,一共有256中不同字符的可能性,也就暗示PHP对Unicode没有本地支持
    一个字符串变得非常巨大也没有问题,PHP没有给字符串大小加强实现范围。所以没有整形浮点型的担心
     定义方法:
    单引号 ‘’
         指定一个简单字符串的最简单的方法使用单引号 
         例子: echo 'thisi is a\' simple \' string '; //this is a' simple' string
        $ter = 100; 
        echo 'this is a simple $ter string'; //this is a simple $ter string
        echo '\\';         \\ 输出\

    注意:单引号字符串中出现的变量不会被变量值代替 有些字符会被转义,可以使用‘\’ 只能转义单引号和\
    双引号 “”
         如果使用双引号 PHP懂得更多特殊字符的转义 
         注意双引号字符串最重要的一点是其中变量名会被变量值替换
        转义字符:
        \n -> 换行                      0x0A %0A
        \r->回车                         0x0D %0D
        \t->水平制表符          0x09  %09  有点像空格tab键 
        \v->垂直制表符
        \\->反斜线          
        \$->美元符号
        \"->双引号
        \[0-7]{1,3}->正则表达式 匹配一个用八进制表示的字符串
        \x[0-9A-Fa-f]{1,2}->匹配一个用十六进制符号表示的字符串
        可以吧变量放在大括号中{显示这是一个变量}
    定界符<<<
         另一种给字符串丁姐的放啊发使用定界符语法("<<<")该在<<<之后提供一个标识符,然后字符串 然后是同样的标识符结束字符串
         定界符中标识符的命名规则和变量的命名规则是一样的 必须以下划线或者非数字字符开始
         注意: 结束标志符所在行不能包含任何其他字符,可能出了一个分号之外 结束标识符不能被缩进,而且在分号前后都不能有任何空格或者制表符 如果没有遵守 就会显示语法错误
         不能使用定界符语法初始化类成员 用其他字符串语法代替
         定界符文本的表现和双引号字符串一样只是没有双引号
         例子:
        $num = 100;
        $str =<<<EEE
        今天天气很好;
        $num
        EEE;
        echo $str;          //今天天气很好; 100

两种复合型

  数组(Arrray) 
    php中的数组实际上是一个有序图 可以把他当做真正的数组使用或者列表,散列图,字典,集合,队列,栈以及更多的可能性因为可以用另一个php数组作为值 可以很容易的模拟树。
    例子:
        $arr = array("hello"=>'world','hello2'=>'aha');
        var_dump($arr); 
        //array(2){["hello"]=>string(5)'world'["hello2"]=>string(3)"aha"}

  对象(Object)
    对象和数组一样都是一种复合数据类型。但对象是一种更高级的数据类型。一个对象类型的特点,是由一组属性值和一组方法构成其中属性表明对象的一种状态,方法通常用来表明对象的功能。要初始化一个对象,用new语句将对象实例到一个变量中。
    例子:
        class Person{
                 public $nam = 'qiandan';
        function playBasketBall(){
                 echo $thisi->$name.'play baskeball';
        }
    }
    $p = new Person();
    $p->playBaskeBall();
$this :$p->name;
全局变量 :函数外部的变量,如果要在函数内部使用全局变量 必须使用global  
局部变量:在函数内部声明的变量 
    例子:
        $name = 'Anne';       //全局变量
        function say(){
            global $name;    //使用全局变量
            $name = 'Marray';   //局部变量
            echo $name."what you want ?";
        }
        say();

最后两种特殊类型
  资源类型(Resource) 
    资源是一种特殊变量,保存了到外部资源的一个引用,资源是通过专门的函数来建立和使用的,由于资源类型变量保存为打开文件,数据库连接,图形画布区域等的特殊句柄,因此无法将其他类型的值转换为资源。PHP4Zend引擎尹经理资源计数系统,可以自定检测到一个资源不再被引用(和java一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放 因此很少需要用某些free-result函数来手工释放内存
    例子:
        $file = fopen("one.txt","w");
        var_dump($handle);    //打开并写一个文件one.txt
        $link = mysql_connect('localhost','root','root','hello');
        vat_dump($link);         //连接数据库 账号:root密码:root数据库库名hello ip地址:localhost

fopen():打开一个文件 
r:只读文件 r+打开可读写文件【该文件必须存在】
rb+ 读写打开一个二进制文件 只允许读写数据 rt+ 读写打开一个文本文件 允许读和写
w:打开只写文件 若文件存在则文件长度清零,及文件内容消失,如果不存在 建立文件 w+打开可读写文件 若文件存在则文件长度清零,及文件内容消失,如果不存在 建立文件
a 以附加的方式打来只写文件 若文件不存在 则会建立文件,如果文件存在 写入的数据会被加入到文件为及文件原先的内容会被保留
a+ 以附加的方式打开可读写文件,若文件不存在,建立文件 存在 写入的数据会被加到文件为 及文件原先的内容会被保留
wb 只写打开或新建一个二进制文件 只允许写数据
wb+ 大学打开或建立一个二进制文件 允许读写
at+ 读写打开一个文本文件,允许读或在文件尾追加数据
ab+ 读写打开一个二进制文件 允许读或在文件尾追加数据

  null类型
    特殊的NULL值表示一个变量没有值,NULL类型唯一可能的值就是NULL表示一个变量的值为空,NULL不区分大小写
    一下情况呗=被认定为null 1)被赋值为null值的变量 2)尚未被复制的变量 3)被unset()函数销毁大
    例子:
        $a = null;
        $num = 199;
        unset($num);
        $b;

数据类型之间的相互转换
phpa在变量定义中不需要(不支持)名师的类型定义,变量类型是根据使用该变量的上下文所决定的 类型转换是指将变量或值从一种数据类型转换成其它数据类型,转换方法有两种 自动转换  【布尔型和NULL】->【整型】/【浮点型】
                    【字符串】->整型】/【浮点型】
        例子:
            $flag=true; //true自动转换成1
            $b=null; //0
            $temp = $flag+100;  //int
            $temp = $b +99.99; //float
            $str = '100'; //string
            $temp = $str +1; //int
            $temp = $str +0.1;//float
        强制转换 在要转换的变量之前加上用括号括起来的目标类型 括号内允许有空格和制表符,为了将一个变量还原为字符串 还可以将变量放置在双引号中
        例子:         $str = '100abc';
                       (int)$str;                 //int(100);
            (bool)$str;              //bool(true);
            (float)$str;              //float(100);
            (array)$str;             //array(1){[0]=>string(6)"123abc"}
            (object)$str;           //object(stdClass)#1(1){["scalar"]=>atring(6) "100abc"}
            (string)"$str";         //string(6) "123abc"

<pre>:预处理标签 格式化输出 
var_dump()输处变量内容和类型
print_r()显示文件内容
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值