1 <!DOCTYPE html>
  2 <html>
  3     <?php
  4         // 1.使用$加变量名来表示变量,php是弱类型语言,不要求在使用变量前声明,第一次赋值时变量才被创建
  5         $a = 10;
  6         $b = "string";
  7         $c = true;
  8         echo $a;
  9         echo $b;
 10         echo $c;
 11         echo "<br/>";
 12
 13         // 2.var_dump函数用来查看表达式的类型和值
 14         var_dump($a);
 15         var_dump($b);
 16         var_dump($c);
 17         echo "<br/>";
 18
 19         // 3. 用empty()函数检测一个变量是否为空,isset()检测一个变量是否设置,unset()释放一个变量
 20         $var = '';
 21         var_dump(empty($var));
 22         var_dump(isset($var));
 23         $var = 'abc ';
 24         echo $var;
 25         var_dump(isset($var));
 26         unset($var);
 27         var_dump(isset($var));
 28         echo "<br/>";
 29
 30         // 4.php中变量名区分大小写,但内置关键字及自定义函数和类名不区分大小写
 31         $var = "smallvar";
 32         $VAR = "BIGVAR";
 33         ECHO $VAR;
 34         echo $var;
 35         echo "<br/>";
 36
 37         // 5.可变变量,一个变量的变量名可以动态设置
 38         $hi = "hello";
 39         $$hi = "world";
 40         echo "$hello ${$hi}";
 41         echo "<br/>";
 42
 43         // 6.引用赋值,和C++中引用类似,但php中只是关联值,内存上不同体,使用unset仅仅是取消关联,不会释放所有值
 44         $foo = 25;
 45         $foo1 = &$foo;
 46         echo $foo;
 47         echo $foo1;
 48         unset($foo1);
 49         echo $foo;
 50         echo "<br/>";
 51
 52         // 7.PHP数据类型
 53             /* 基础类型四种
 54              * bool型:和C++中差不多,0,空白字符串和"0"以及NULL为FALSE,其他为TRUE
 55              * 整型:前加0是八进制,加0x是十六进制,大于2147483647会被解释为浮点型
 56              * 浮点型:范围在1.7E-38~1.7E+38之间,精确到小数点后15位
 57              * 字符串:字符和字符串都统一当做字符串处理,字符串的三种定义方式如下(单引号,双引号,<<<标识符)
 58              * */
 59         echo '\n\r$foo\\\''; //除了对'和\要使用转义外,其它转义和变量名都是无效的
 60         echo "\n\r$foo\\\'"; //转义都是有效的,可以使用{$foo}将变量分离解析
 61
 62         $str =<<<EOE
 63             <br/>//使用<<<来包括字符串,在<<<之后提供一个标识符表示开始,最后提供一个相同的结束符表示结束,
 64             注意标识符必须要从第一列开始,且除了结束符后的分号外,不能再加任何字符。
 65 EOE;
 66         echo $str;
 67         echo "<br/>";
 68
 69             /* 两种扩展类型,这里简要介绍,后面的章节详述
 70               * 数组:实际上是关联数组,可以用多种方法构造,这里使用array语言构造一个数组
 71               * 对象:用class定义,new实例化,->引用成员变量及函数
 72              * */
 73         $arr = array("foo"=>"bar", 12=>true);
 74         echo $arr["foo"];
 75         echo $arr[12];
 76         echo "<br/>";
 77
 78         class Person{
 79             var $name;
 80             function say(){
 81                 echo "Person say my name is $this->name";
 82             }
 83         }
 84         $p = new Person;
 85         $p->name = "TOM";
 86         $p->say();
 87         echo "<br/>";
 88
 89             /* 两种特殊类型
 90              * 资源:保存到外部资源的一个引用,比如文件、数据库、图形画布等
 91              * NULL类型:表示变量为空,直接赋值为NULL、unset后的变量、未声明变量都为NULL
 92              */
 93         $file_handle = fopen("01.php", "r");
 94         $img_handle = imagecreate(100, 50);
 95         var_dump($file_handle);
 96         var_dump($img_handle);
 97         echo "<br/>";
 98
 99         // 8.类型转换,分为自动类型转换和强制类型转换
100             /* 自动类型转换的规则:
101              * 有bool型参与运算时,TRUE转化为1,FALSE转化为0
102              * NULL转化为0
103              * integer和float一起运算时,将integer转化为float
104              * 有字符串和数字型一起运算时,将字符串转化为数字
105              */
106         $a = "100page" + 1.5; //自动类型转换种将字符串转化为数字的例子
107         echo $a;              //输出101.5
108         echo "<br/>";
109             /* 强制类型转换有三种方法,如下所示
110              * 前两种不会改变原变量的类型,只是赋值到新的变量中
111              * 最后一种方法会改变原变量的类型
112              */
113         $foo = (boolean) 10;    //和C++相同,在变量前加(变量类型)
114         var_dump($foo);
115         $foo = intval(123.45);    //使用intval()、floatval()、strval()进行变量转换
116         var_dump($foo);
117         settype($foo, "string");//使用settype(var, type);
118         var_dump($foo);
119         echo "<br/>";
120
121         // 9.变量类型的测试函数,用gettype()获得函数类型或者is_type()判断是否是某种type
122         $a = 12;
123         $b = 12.5;
124         echo gettype($a);
125         echo gettype($b);
126         var_dump(is_int($a));
127         var_dump(is_float($a));
128         echo "<br/>";
129
130         // 10.常量,用户可以用define自定义变量,用defined函数检测是否定义
131         define("CON_INT", 100);                //常量一旦被定义就不能改变,并且可以在任何地方定义和访问
132         define("not_big", "hello", true);    //传入true表示不区分大小写,否则区分
133         echo CON_INT;                        //使用常量不需要使用$符号
134         var_dump(defined('CON_INT'));
135         var_dump(defined('con_int'));
136         var_dump(defined("NOT_BIG"));
137         echo "<br/>";
138
139         // 11.魔术常量,随着位置的改变而改变,名字都是_NAME_,共8个
140             /* __FILE__          当前文件名;    __LINE__        当前函数名
141              * __CLASS__         当前类名;    __METHOD__        当前对象方法名;
142              * __FUNCTION__     当前函数名;    __NAMESPACE__    当前命名空间名;
143              * __DIR__            当前目录名;    __TRAIT__        Trait 的名字;
144              */
145         echo "当前行: ".__LINE__."<br/>";
146         echo "当前文件:".__FILE__."<br/>";
147         echo "当前目录:".__DIR__."<br/>";
148
149         // 12.运算符
150             /* 常用运算符和C++中一样,主要有以下几个运算符不太一样
151              * . 连接运算符号,用于连接字符串,衍生出 .=操作符
152              * ==  左边操作数灯油右边操作数时返回true(这个操作符时将两个数转成同一类型后比较的)
153              * === 左边操作数等于右边操作数,并且类型也相同时返回true
154              * <>或!= 当左边操作数不等于右边操作数时返回true,否则返回false
155              * !== 当左边操作数不等于右边操作数,或者它们类型不相同时返回true,否则返回false
156              * ``    反引号,将其中内容作为外壳命令执行,并将其执行信息返回
157              * @    错误控制运算符,忽视表达式可能产生的错误信息
158              * =>    数组下标指定符,指定数组的键与值
159              * instanceof 类型运算符,测定一个对象是否来自指定的对象类
160              */
161         $a = 0;
162         var_dump($a == "0");    //相等
163         var_dump($a === "0");    //不相等,类型不一样
164         echo "<pre>".`dir`."</pre>";    //执行windows的dir命令并输出
165         @$a = $a / 0;            //如果不加@PHP会报错
166
167         // 13.语言流程控制结构 ,与C++基本一样,只在break和continue处有所不同
168             // 用break n语言表示直接跳出n层循环,continue n类似
169         for($i = 0; ; $i++) {
170             for ($j = 0; $j < 5; $j++){
171                 if ($j > $i) break;
172                 if ($i == 5) break 2;    //直接跳出两层循环
173                 echo $j;
174             }
175         }
176     ?>
177     <br/>
178 </html>

执行结果

10string1
int(10) string(6) "string" bool(true)
bool(true) bool(true) abc bool(true) bool(false)
BIGVARsmallvar
world world
252525
\n\r$foo\' 25\\'
//使用<<<来包括字符串,在<<<之后提供一个标识符表示开始,最后提供一个相同的结束符表示结束, 注意标识符必须要从第一列开始,且除了结束符后的分号外,不能再加任何字符。
bar1
Person say my name is TOM
resource(3) of type (stream) resource(4) of type (gd)
101.5
bool(true) int(123) string(3) "123"
integerdoublebool(true) bool(false)
100bool(true) bool(false) bool(true)
当前行: 145
当前文件:E:\SWM\XAMPP\htdocs\02base\01.php
当前目录:E:\SWM\XAMPP\htdocs\02base
bool(true) bool(false)  驱动器 E 中的卷是 其他卷的序列号是 20F1-902EE:\SWM\XAMPP\htdocs\02base 的目录2013/07/30  18:12              .
2013/07/30  18:12              ..
2013/07/19  17:03               174 .buildpath
2013/07/19  17:03               516 .project
2013/07/29  20:28              .settings
2013/07/21  16:17             5,638 01.php
2013/07/22  16:59             2,232 02.php
2013/07/23  15:25             2,885 03.php
2013/07/29  23:40            10,360 04.php
2013/07/30  21:36             4,925 05.php
2013/07/30  23:04              067 个文件         26,730 字节4 个目录 198,289,969,152 可用字节001012012301234 

转载于:https://www.cnblogs.com/swm8023/p/3203995.html

PHP学习笔记01——基础语法相关推荐

  1. java基本语法心得_Java学习笔记(一)——基础语法(上)

    Java学习笔记(一)--基础语法(上) 软件构造 写在前面 编写Java程序时,应注意以下几点:大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的 ...

  2. Python 基础学习 00 01 基础语法规则

    00 01 基础语法规则 前言 此专栏笔记是个人学习 Python 过程中的个人笔记,记录方式主要以个人习惯为主,记录内容会包括个人学习 Python 中的知识点,以及使用过程中的遇到的问题记录.如果 ...

  3. Go语言学习笔记—golang基础语法

    视频来源:B站<golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]> 文章为自己整理的学习笔记,侵权即删,谢谢支持! 文章目录 golang基础语法 一.gola ...

  4. Java学习笔记之基础语法(一)

    目录 前言 一.基础语法 基础概念 运算符 数据输入Scanner 条件判断 循环 Random 二.IDEA安装与使用 IDEA项目结构介绍 IDEA中HelloWorld步骤 IDEA快捷键 前言 ...

  5. Go语言学习笔记之基础语法(一)

    目录 1. Go语言介绍 Go语言是什么 Go语言优势 Go适合用来做什么 2. Go环境搭建 通过Sublime 编译运行go程序 学习资料 3. 第一个Go程序 通过命令行运行程序 4. 基础语法 ...

  6. Python学习笔记(2)-基础语法

    1 ########### python基础语法 ################### 2 3 #标识符 4 #第一个字符必须是字母表中字母或下划线-- 5 #标识符的其他部分有字母,数字和下划线组 ...

  7. 图神经网络学习笔记-01基础

    图神经网络-01基础-图与图学习 文章目录 图神经网络-01基础-图与图学习 图是什么 图的定义 图的基本表示方法 e.g 图的存储 图的类型和性质 图算法 1. 寻路和图搜索算法 1). 搜索算法 ...

  8. Vue2.0学习笔记二 基础语法

    1. Mustache语法 Mustache语法也叫插值表达式,Mustache语法式通过{{}}渲染到页面,并且数据是响应式的. 数据的响应式:数据的变化导致页面的内容随之变化 效果图: 2. 指令 ...

  9. python学习笔记:基础语法

    目录 python语言概述 python基础语法 python标准数据类型 1.数字类型 2.字符串类型 3.列表类型 4.元组 5.字典 python基础语法 1.条件判断语句 2.循环语句 3.函 ...

最新文章

  1. 什么是好的图神经网络?
  2. php收集radio表单,jQuery对于单选表单(radio)以及其它表单取值
  3. 他总在逆风翻盘,绝地反击!最不爱钱却成了最有钱的人...
  4. 深度学习(十四)基于CNN的性别、年龄识别
  5. 【CV冬季划】终极进阶,超30个项目实战+3本书+3年知识星球
  6. 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
  7. SAP Fiori launchpad的PageChipInstance实现
  8. 关于ES6的10个最佳特性
  9. jQuery data
  10. 【MYSQL笔记】使用存储过程
  11. IntelliJ IDEA功能和惊喜赠品
  12. foobar2000播放器简单配置 [李园7舍_404]
  13. pthread_sigmask
  14. 顶岗实习周记java方向_java程序员的实习周记
  15. 扫雷php,扫雷php
  16. android手机rom物理存储器,手机ROM/RAM的区别
  17. 先进的半导体晶圆清洗技术
  18. Walle和加固宝的优雅结合
  19. Image Splicing Forgery Detection Combining Coarse to Refined Convolutional Neural Network and Adapti
  20. Google推出拼音输入法了!

热门文章

  1. Android 自定义AlertDialog对话框
  2. 暴雪战网客户端上使用的那些开源库!
  3. 第四届中国软件工程大会征文通知
  4. vue 写门户网站_你不得不知道的Vue项目技巧
  5. JAVA程序员基本功:开发实现类隐藏及应用
  6. 如何在Kubernetes容器环境下部署Spinnaker?
  7. varnish的了解与常用配置使用
  8. 陈松松:知道这5个视频营销流量入口,你不缺流量
  9. Java Code Examples for org.apache.ibatis.annotations.Insert
  10. mobile webiste 中的css的font-size em及line-height等换算