目录

  • 前言
  • 变量命名规范
  • 单引号与双引号
  • 数据类型
    • 标量类型
    • 混合类型
    • 特殊类型
    • 获取变量数据类型
    • 数据类型转换
    • 常量
  • 运算符
  • 非布尔类型变量作为条件注意事项
  • 函数

前言

本文是本人在已有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基础学习笔记(一)相关推荐

  1. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  2. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  3. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  4. Python3 基础学习笔记 C08 【类】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  5. Python3 基础学习笔记 C07【函数】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  6. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  7. Python3 基础学习笔记 C05【字典】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  8. Python3 基础学习笔记 C04【if 语句】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  9. Python3 基础学习笔记 C03【操作列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  10. Python3 基础学习笔记 C02【列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. vivo 互联网业务就近路由技术实战
  2. 利用BH1750光度传感器测量一些发光体
  3. 什么是API,SDK?它们之间有什么关系?
  4. 7-2 停车场管理 (50分)
  5. 对于指针与malloc函数关系的研究,以及指针的赋值。
  6. 小点点软件对你非常实用
  7. html5退出全屏触发的方法_在实战中学??typescript - 实现浏览器全屏(100行)
  8. [原] Android 自定义View 密码框 例子
  9. SAP License:SAP顾问是如何炼成的——我所理解的SAP顾问
  10. 给新晋技术团队Leader的4条建议
  11. 通过VMName获取VM IP
  12. Win10使用GPT格式为大硬盘分区(2.2T 以上)
  13. python中shape 0_Python错误:找到包含0个样本(shape =(0,262))的数组,同时至少需要1个...
  14. DOS批处理下格式化日期字符串
  15. Calendar获取当天0点的时间戳
  16. java方面图形/图像处理
  17. 八皇后问题 回溯法
  18. Kali Linux 2022新版发布
  19. 文献管理与信息分析2023春课程随堂测验答案
  20. 使用telnet命令,报错:无法打开主机的连接在端口23连接失败

热门文章

  1. jQuery动画-圣诞节礼物
  2. stax2 jar 包冲突
  3. arcgis for js三维模型展示
  4. 自动驾驶记忆泊车HAVP功能设计
  5. linux下安装mysql和mysql主从配置
  6. Ralink RT5350:添加自定义GPIO应用程序
  7. Python周刊507期
  8. traceroute 命令
  9. 什么是ATP认证,ATP认证介绍/上海理晨
  10. 正宗港行诺基亚N70的极速鉴别方法