目录

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

前言

本文是本人在已有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. 什么是dBi、dBd、dB、dBm、dBc ?
  2. 初入股市之 Hello Stock
  3. C# 泛型类型参数的约束
  4. android日志收集存入mysql_rsyslog+analyzer+mysql实现日志收集展示
  5. 根据 dba_errors 制定 数据库报警邮件
  6. GTK+开发环境搭建(Centos+Netbeans)
  7. Android操作系统手机遇冷 国外辉煌国内难现
  8. linux6.5配置ssh,CentOS 6.5 配置 SSH 免密登录
  9. 虚拟化技术中,不同层级结构间的虚拟化运用
  10. 话筒在multisim怎么找_基于Multisim软件的调频无线话筒仿真
  11. 人工智能语音实训平台实验指导书
  12. Java中的动态代理
  13. 《Kotlin从零到精通Android开发》面世啦
  14. ajax将监听器值赋值servlet,Java面试问题
  15. 解决Keepalived主备都含有VIP
  16. wordpress.mu
  17. 计算机学科学年论文方向,计算机学年类论文选题 计算机学年论文题目怎么拟...
  18. 有关秩的等式和不等式
  19. Oracle EBS OPM创建会计科目告警:日记帐分录不平衡
  20. Ubuntu软件仓库源类型:官方源、第三方源、本地源

热门文章

  1. Sublime Text 设置自动换行
  2. 经贸大学计算机科学与技术,2021河北经贸大学计算机科学与技术081200考研调剂信息...
  3. 开源安卓Http文件下载框架file-downloader的使用
  4. RHEL 6.5 下安装 ralink mt7601
  5. linux智力游戏,Ubuntu 7.10下玩泡泡龙益智游戏(图)
  6. OPPO手机删除文件数据恢复技巧篇
  7. Qt切换多国语言,简单的流程记录。
  8. ucosii的实时操作系统(任哲)——第一章
  9. 停车场项目,测试“收费规则”弹框和业务,测试用例的设计
  10. 放弃了年薪 200 万的工作