PHP笔记2__变量/字符串/类型转换/常量/,,

<?php
    //可变变量
    $a = "ok";
    $$a = "fine";
    $$$a = "er";
    echo $ok;
    echo "<br>";
    echo $fine;
?>
<?php
    //引用变量
    //1.只有变量有引用
    $a = 123;
    $b = &$a;
    echo $b,"<br>";
    $b = 321;
    echo $a,"<br>";

    $c = 87;
    $b=&$c;
    echo $a,"<br>"; //2.变量b指向c,并不会把变量a和变量c绑定一起

    unset($a); //3.只是删掉变量a,不影响变量b
    if(isset($b))
        echo "existed.<br>";
    else
        echo "not existed.<br>";
?>
<?php
    /**
    1.四种标量:boolean, integer, float, String
    2.两种复合:Array, Object
    3.两种特殊:Resource, NULL
    */
    $a = "dsd";
    echo var_dump($a); //输出变量a的类型,值等信息

    $b = 16;
    $c = 016; //八进制,以零开头
    $d = 0x16;
    echo $b,"<br>";
    echo $c,"<br>";
    echo $d,"<br>";

    /**
    1.声明一个字符串必须使用单引号或双引号
    2.一个字符和多个字符都是字符串(PHP)
    3.字符串没有长度限制
    4.在单引号中可以使用双引号,在双引号中可以使用单引号
    5.在单引号中不能再使用单引号,在双引号中不能再使用双引号(除非使用转义字符)
    6.双引号中可以解析变量,单引号中不可以。
    7.双引号中可以使用转义字符,单引号中可以。(在单引号中只能转义单引号自己和转义转义符号本身)
    8.双引号功能强大,单引号效率高,所以能用单引号尽量用单引号
    */
    $st = "kkk $b d"; //可以解析$b
    echo $st,"<br>";
    $st = ‘kkk $b d‘; //不能解析$b
    echo $st,"<br>";
    $st = "kkk {$b}d"; //通过大括号解析$b,否则会当成$bd从而无法解析
    echo $st,"<br>";
    $st = "kkk \$b={$b}d"; //转义$符号
    echo $st,"<br>";

    /**
    定界符号声明字符串
    1.使用<<<(小于号)
    2.在开始的定界符(自定义的字符串中)一定要左边挨着<<<,写完定界的字符串,一定要直接回车
    3.在结尾的字符串定界中,一定要顶头写,和开始的字符串一致,并直接回车
    4.使用‘‘在开始的定界符号中,将支持双引号的功能,改成了支持单引号的功能
    */
    $str =<<<‘hellw‘
        fukc you "‘sdfsd‘" $st
hellw;
    echo $str,"<br>";

    /**
    强制类型转换
    1.setType($a,"double");
    2.$b = (int)$a;
    3.intval(), floatval(), strval()
    4.string型转成int型只会转换开头的几个数字,如果开头没有数字,则返回0
    */
    $stg = 1000;
    settype($stg, "string");
    $stg = (double)$stg;
    echo getType(intval($stg)),"<br>";

    $aa = "45 4school hell";
    $bb = 100;
    $cc = $aa+$bb;
    var_dump($cc); //输出145

    /**
    常量:
    1.常量是使用函数define()声明的
    2.如果常量没有声明,则常量名在使用时,会自动转为字符串(效率很低)
    3.常量名称不要加$符号
    4.常量名称区分大小写(和变量一样),习惯上全大写
    5.可以使用define(,,true/false)第三个参数来决定是否让这个常量名称区分大小写
    6.常量的值只支持标量数据类型
    7.不能使用unset()清除一个常量
    8.可以使用defined(); 判断一个常量是否存在
    9.用get_defined_constants()可以获得所有已定义的常量列表
    */
    define("ROOT","localhost");
    define("KEKE",1234.23);
    echo ROOT,"<br>";

    //魔术常量
    echo __LINE__,"<br>"; //输出当前行号(83)

    $s1 = "abc";
    $s2 = "def";
    echo "ans: ".$s1.$s2;

    //===:全等,不仅内容要相等,类型也要相等
    //!==:非全等,两边值与类型都相同时返回false,否则true
    $a = "7ab";
    $b = 7;
    var_dump($a==$b); //true
    var_dump($a===$b); //false

    //三元运算
    $a = 1;
    $b = 10;
    $c = $a>$b?123:321;
    echo $c,"<br>";

    //调用系统命令?需要用到时查查吧
    echo `ipconfig`;
?>
时间: 2024-10-21 16:44:25

PHP笔记2__变量/字符串/类型转换/常量/,,的相关文章

c++学习笔记:变量

c++学习笔记:变量(2) 先说明一下上一篇博文中的一个问题:char.signed char.unsigned char 这三者到底是怎么回事. signed char与unsigned char 是明确的拥有含义的,也就是说当定义了一个signed char那么这个char一定是有符号的整数类型.而当定义了一个unsigned char时这个char是明确无符号的整数类型.但是char却不一定了,它的行为依靠具体的实现.(“普通char究竟是有符号还是无符号,此事由实现确定.这也可能导致出现

C++ Primer笔记2_四种类型转换_异常机制

1.类型转换 命名的强制类型转换: 有static_cast.dynamic_cast.const_cast.reinterpret_cast static_cast: 编译器隐式执行的任何类型转换都可以由static_cast完成 当一个较大的算术类型赋值给较小的类型时,可以用static_cast进行强制转换. 可以将void*指针转换为某一类型的指针 可以将基类指针强制转换为派生类指针,但是不安全. 无法将const转化为nonconst,这个只有const_cast才可以办得到 举例:

PHP学习笔记——1.变量

目录: PHP学习笔记——1.变量 PHP学习笔记——1.常量 1.变量的组成 包括:变量名.变量值.存储地址 例:$a = 23; 执行后,在变量表中添加了$a这个变量名,在内存中开辟出一块空间,空间值为23,而$a指向23所在空间位置 例:echo $a; 执行后,先从变量表中找到$a,再根据其地址找到相应内存空间地址,读出23的值 2.变量的声明 $变量名 = 变量值; 3.变量名命名规范 字母.下划线.数字的组合 数字不能作为开头 区分大小写 4.变量的类型 ①五种标量: 整型:0 2

JavaScript学习笔记——js变量的布尔值

typeof(1): numbertypeof(NaN): numbertypeof(Number.MIN_VALUE): numbertypeof(Infinity): numbertypeof("123"): stringtypeof(true): booleantypeof(window): objecttypeof(Array()): objecttypeof(function(){}): functiontypeof(document): objecttypeof(null)

Go语言学习笔记(二) [变量、类型、关键字]

日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号. 2.Go 同其他语言不同的地方在于变量的类型在变量名的后面.例如:不是,int a,而是 a int.当定义了一个变量,它默认赋值为其类型的 null 值.这意味着,在 var a int后,a 的 值为 0.而 var s string,意味着 s 被赋值为零长度字符串,也就是 "". 3.Go语言的变量声明和赋值 在Go中使

C#变量/数据类型转换/运算符使用

1.变量 命名规则: a 只能是字母(a-z),数字(0-9),下划线(_)b 不能用数字开头c 不能是C#中的关键字 命名规范: a 简短,有语义的单词或组合b 骆驼命名法(从第二个单词开始,首字母大写)myName 使用步骤: a 声明并赋值(例:int age=18)b 使用(输入输出.判断.运算等...)* 先赋值再使用 2.数据类型 整形和非整形:整形:sbyte(有符号的-128~127) byte(0~255 )一个字节8位short(-32768~32767)ushort(0~6

python学习笔记2:字符串

python学习笔记2:字符串 总结:字符串是不可变变量,不能通过下标修改其值 字符串的方法都不会改变字符串原来的值,而是新生成一个字符串 一.3种写法--单引号,双引号,三引号 二.下标和切片 下标:字符串里每个字符所在的位置,也叫索引.strname[n] ,表示strname这个字符串的下标为n对应的字符的值. 切片:取字符串一个下标区间的值. strname[n:m],表示strname这个字符串,下标n到m这个区间内的值,注意n:m取值,顾前不顾后. 三.字符串遍历 in 和not i

002.变量、类型转换、运算符

1.变量 命名规则: a 只能是字母(a-z),数字(0-9),下划线(_)b 不能用数字开头c 不能是C#中的关键字 命名规范: a 简短,有语义的单词或组合b 骆驼命名法(从第二个单词开始,首字母大写)myName 使用步骤: a 声明并赋值(例:int age=18)b 使用(输入输出.判断.运算等...)* 先赋值再使用 2.数据类型 整形和非整形:整形:sbyte(有符号的-128~127) byte(0~255 )一个字节8位short(-32768~32767)ushort(0~6

java笔记之变量的存储方式

1.java变量存储域 java变量的存储区域主要放在以下几个地方: (1)寄存器:可以说是最快的存储区,在C/C++中可以声明寄存器变量,但是在java中不能声明寄存器变量,只是编译器在编译时确定. (2)栈:存放关于基本类型数据和对象的引用,但是对象本身并不在栈里,(通过new出来的)对象放在堆里或者常量池中(字符串的常量对象就放在常量池中). (3)堆:用于存放new出来的对象. (4)常量池:存放字符串常量和基本类型数据的常量(通过 public static final修饰). (5)