PHP基础学习笔记1
一、基本语法
1.1 形式
PHP 脚本以 <?php 开始,以 ?> 结束:
<?php
//php代码
?> 1.2 注释
单行注释
//这是单行注释
多行注释
/*
这是
多行
注释
*/
二、变量规则(PHP是一门弱类型语言(弱类型即创建变量时不需要事先声明该变量的类型))
变量以 $ 符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
变量名不能包含空格
变量名是区分大小写的($y 和 $Y 是两个不同的变量)
三、变量作用域
3.1 四种作用域
local
global
static
parameter
3.2 函数要访问全局变量需要使用global关键字
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中;index 保存变量的名称;
这个数组可以在函数内部访问,也可以直接用来更新全局变量;上面的实例可以写成这样:
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y;
?>
3.3 static作用域
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>
每次调用该函数时,该变量将会保留着函数前一次被调用时的值;注意:该变量仍然是函数的局部变
四、数据类型
String (字符串)
Integer(整型)
Float (浮点型)
Boolean(布尔型)
Array (数组)
Object (对象)
NULL (空值) var_dump() 函数返回变量的数据类型和值 五、类型比较
松散比较:使用两个等号 == 比较,只比较值,不比较类型
严格比较:用三个等号 === 比较,除了比较值,也比较类型
常量名不需要加 $ 修饰符;注意: 常量在整个脚本中都可以使用
6.1 常量设置
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
name: 必选参数,常量名称,即标志符;
value:必选参数,常量的值;
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感;默认是大小写敏感的.
6.2 常量的作用范围
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用
7.1 字符串连接
使用并置运算符 (.) 用于把两个字符串值连接起来:
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
7.2 使用函数strlen()输出字符串的长度
7.3 使用函数strpos()在字符串内查找一个字符或一段指定的文本
<?php
echo strpos("Hello world!","world");
?>
echo '<br>'; // 换行
九、运算符
9.1 算术运算符

9.2 赋值运算符

9.4 比较运算符

9.5 逻辑运算符

9.6 数组运算符

9.7 三元运算符

PHP基础学习笔记1的更多相关文章
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
- C#RabbitMQ基础学习笔记
RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
- 基础学习笔记之opencv(6):实现将图片生成视频
基础学习笔记之opencv(6):实现将图片生成视频 在做实验的过程中.难免会读视频中的图片用来处理,相反将处理好的图片又整理输出为一个视频文件也是非经常常使用的. 以下就来讲讲基于opencv的C+ ...
随机推荐
- 在myEclipse中根据图表自动生成Hibernate文件
1.新建一个Java Project项目,在scr中创建两个包:Com.hibernate.po 和com.hibernate.dao 2. 3.点击ok 4. 5.选中MyElipse Derby, ...
- 原生js来写获取元素距离顶部距离,以及滚动条滚动指定距离和时间控制
这是我在写vue项目里封装的一个公共js类 里面还有一些其他的方法,一并拿过来了 class Public { isDesktop(){ //判断是否为pc端 return (window.scree ...
- java中锁与@Transactional同时使用导致锁失效的问题
示例代码 @Transactional public void update(int id) { boolean lock = redisLock.lock(id); if (!lock) { thr ...
- android获取系统信息
连接手机,adb shell 进入 Android Shell 模式,输入 getprop 获取系统属性值 通过上面方法拿到属性名,然后通过下面方法获取到系统的属性值 /** * 获取build.pr ...
- Windows DOS下查看硬盘分区
运行cmd Diskpart //加载 list Disk //列出硬盘 list Volume //列出分区 Select Disk //选择 编号0的硬盘 list Partition //列出当 ...
- OpenGL 编程指南 (3.2)
1.帧缓冲对象 帧缓冲对象对于离屏渲染.纹理贴图更新.缓存乒乓技术(buffer ping-pongqing,GPGPU的一种数据传输方式)的实现意义非凡,它减少了大量的数据拷贝工作. 建立帧缓冲需要 ...
- eslint全局变量报错 xxx is not defined
找到.eslintrc.js,添加 "globals": { "你的全局变量": true }, 如果globals已经存在在里边加入你要忽略检测的全局变量即可 ...
- soundtouch 变速算法matlab实现
soundtouch变速主要采用WSOLA算法来进行变速. http://www.surina.net/soundtouch/ https://blog.csdn.net/suhetao/articl ...
- EF CodeFirst 一对一、一对多、多对多关系
一对一关系 如图,无需专门指定,系统会默认在Person表中生成字段Pet_Id为Pet表的外键(一对一). Require:必要的(一对一) Optional:可选的(一对零) Principa ...
- EF CodeFirst关于Mysql如何自动生成数据库表
相对于sqlserver数据库,mysql的配置过程相对麻烦一些,我们从0讲起. 1.新建一个控制台应用程序 右键点击引用--管理NuGet程序包,搜索Mysql.Data.Entity并安装,安装完 ...