PHP基础学习笔记(一)
目录
- 前言
- 变量命名规范
- 单引号与双引号
- 数据类型
- 标量类型
- 混合类型
- 特殊类型
- 获取变量数据类型
- 数据类型转换
- 常量
- 运算符
- 非布尔类型变量作为条件注意事项
- 函数
前言
本文是本人在已有Java、JavaScript等语言的基础之上所做学习笔记,所以有些基础语法不会记录,仅供个人总结和大家参考。
变量命名规范
所有变量都必须
以$符号开头,且不能包含特殊字符,如:%、#等,可以以_、字母开头。
单引号与双引号
单引号
不解析变量。不解析\n \r \t等转义字符。
双引号
解析变量。解析转义字符,如\n \r \t。
单引号效率高于双引号。
字符串和变量使用.
来连接。如:$myName."test";
也可以使用这种方式连接"{$myName}好好学习,天天向上";
双引号里包含单引号,单引号里插入变量,则变量会解析,如有变量$myName = '张三';
。表达式:"'$myName'"
的值为 '张三'
。
数据类型
标量类型
整形。如:1,2,3
。
浮点型。即小数:1.2,0.5
。
布尔类型。true、false
。
字符串。用单引号或双引号引起。如:'zhangsan',"lisi"
。
混合类型
数组。如:$arr = [1,2,3]
、array(1,2,3)
。
对象。涉及类的知识,之后补充。
特殊类型
空。 null
资源。 resource
获取变量数据类型
gettype()函数。如:
//获取变量的数据类型
$name = '张三';
$age = 20;
$socre = 88.5;
echo gettype($name); //string
echo gettype($age); //integer
echo gettype($socre); //double
数据类型转换
$str = '123';
$num = 20;
echo gettype(intval($str)); //integer
echo gettype(floatval($str)); //double
echo gettype(strval($num)); //string
echo gettype(boolval($num)); //boolean$null = null;
echo intval($null); //0
echo floatval($null);//0
echo strval($null); //''
//输出变量的值和类型
var_dump(strval($null));
常量
常量不能写到字符串中,因为不会解析。不管是单引号还是双引号。
//使用define函数定义常量,类似键值对
//值的类型只能是标量,即:整形、浮点、布尔、字符串。
define('NAME', 'value');echo NAME;
//判断常量是否被定义了
echo defined('NAME'); //1 表示 true//系统中的一些常量
echo __FILE__; //获取文件路径: D:\wamp\www\first\datatype.php
echo __LINE__; //获取代码所在的行: 32
echo __DIR__; //获取文件所在的路径:D:\wamp\www\first
echo PHP_VERSION; //获取php版本号: 5.6.25
echo PHP_OS; //获取系统信息: WINNT//定义方法
function test(){echo __FUNCTION__; //获取方法名
}
//调用方法
test();
运算符
==
和===
的区别:
==
值比较值是否相等。
===
比较值是否都相等且数据类型一致。
>
、<
、>=
、<=
、%
、&&
、||
、!
什么语言意思都一样。
$str = '123';
$num = 123;echo $str == $num; //true
echo $str === $num; //false
.=
用法
$str = 'abc';
$str .= 'd'; //相当于 $str = $str.'d';
echo $str; //abcd
非布尔类型变量作为条件注意事项
$num = 0; //false
$num = 0.00//false
$num = 0.0001//true 不全是0
$str = ''//false
$str = '0'//false
$str = '0.000'//true
$arr = []; //false
$null = null; //false
函数
//=========函数名不区分大小写
//无参数,无返回值
function fun1(){echo '无参数,无返回值';
}
//fun1();
//===================有默认参数
//有参数,无返回值
function fun2($name = '张三', $age = 20){echo '姓名: '.$name.',年龄: '.$age;
}
//fun2('李四',23);//有参数,有返回值
function fun3($name = '张三', $age = 20){echo '姓名: '.$name.',年龄: '.$age;return 1;//echo 'return 之后代码不会执行';
}
echo '<br />'.fun3();
//======在函数定义前后都可以调用函数//对参数和返回值的类型进行限定 php7语法
function fun4(int $num1, int $num2):string
{return $num1 + $num2;
}
//var_dump(fun4(1,2)); //返回的是string类型//可变参数
function fun5(...$arr){var_dump($arr);
}
//fun5(123,'abc',1,10.0,false);function fun6($a, $b, $c, $d){var_dump($a,$b,$c,$d);
}
$arr = [123,'abc',false,1.01];
//fun6(...$arr); //多个参数以可变参数(数组)形式传递//匿名函数
$fun7 = function(){echo "匿名函数";
};
//调用匿名函数
$fun7();
PHP基础学习笔记(一)相关推荐
- guido正式发布python年份_Python 基础学习笔记.docx
Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...
- Python3 基础学习笔记 C09【文件和异常】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C08 【类】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C07【函数】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C06【用户输入和 while 循环】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C05【字典】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C04【if 语句】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C03【操作列表】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- Python3 基础学习笔记 C02【列表】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
最新文章
- vivo 互联网业务就近路由技术实战
- 利用BH1750光度传感器测量一些发光体
- 什么是API,SDK?它们之间有什么关系?
- 7-2 停车场管理 (50分)
- 对于指针与malloc函数关系的研究,以及指针的赋值。
- 小点点软件对你非常实用
- html5退出全屏触发的方法_在实战中学??typescript - 实现浏览器全屏(100行)
- [原] Android 自定义View 密码框 例子
- SAP License:SAP顾问是如何炼成的——我所理解的SAP顾问
- 给新晋技术团队Leader的4条建议
- 通过VMName获取VM IP
- Win10使用GPT格式为大硬盘分区(2.2T 以上)
- python中shape 0_Python错误:找到包含0个样本(shape =(0,262))的数组,同时至少需要1个...
- DOS批处理下格式化日期字符串
- Calendar获取当天0点的时间戳
- java方面图形/图像处理
- 八皇后问题 回溯法
- Kali Linux 2022新版发布
- 文献管理与信息分析2023春课程随堂测验答案
- 使用telnet命令,报错:无法打开主机的连接在端口23连接失败