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:轻松入门& ...
最新文章
- 什么是dBi、dBd、dB、dBm、dBc ?
- 初入股市之 Hello Stock
- C# 泛型类型参数的约束
- android日志收集存入mysql_rsyslog+analyzer+mysql实现日志收集展示
- 根据 dba_errors 制定 数据库报警邮件
- GTK+开发环境搭建(Centos+Netbeans)
- Android操作系统手机遇冷 国外辉煌国内难现
- linux6.5配置ssh,CentOS 6.5 配置 SSH 免密登录
- 虚拟化技术中,不同层级结构间的虚拟化运用
- 话筒在multisim怎么找_基于Multisim软件的调频无线话筒仿真
- 人工智能语音实训平台实验指导书
- Java中的动态代理
- 《Kotlin从零到精通Android开发》面世啦
- ajax将监听器值赋值servlet,Java面试问题
- 解决Keepalived主备都含有VIP
- wordpress.mu
- 计算机学科学年论文方向,计算机学年类论文选题 计算机学年论文题目怎么拟...
- 有关秩的等式和不等式
- Oracle EBS OPM创建会计科目告警:日记帐分录不平衡
- Ubuntu软件仓库源类型:官方源、第三方源、本地源
热门文章
- Sublime Text 设置自动换行
- 经贸大学计算机科学与技术,2021河北经贸大学计算机科学与技术081200考研调剂信息...
- 开源安卓Http文件下载框架file-downloader的使用
- RHEL 6.5 下安装 ralink mt7601
- linux智力游戏,Ubuntu 7.10下玩泡泡龙益智游戏(图)
- OPPO手机删除文件数据恢复技巧篇
- Qt切换多国语言,简单的流程记录。
- ucosii的实时操作系统(任哲)——第一章
- 停车场项目,测试“收费规则”弹框和业务,测试用例的设计
- 放弃了年薪 200 万的工作