1.什么是PHP?

  • Hypertext Preprocessor(超文本预处理语言)。

  • 是脚本语言。

  • 是最流行的网站开发语言。

2.PHP能做什么?

  • 可以生成动态页面内容。

  • 可以创建、打开、读取、写入、关闭服务器上的文件。

  • 可以手机表单数据。

  • 可以发送和接收cookies。(储存在用户本地终端上的数据)

  • 可以添加、删除、修改数据库中的数据

  • 可以限制用户访问一些页面。

  • 可以加密数据

3.PHP基本语法

  • PHP脚本以<?php开始,以?>结束。

  • PHP文件的默认扩展名为“.php”。

  • PHP用分号来分割语句。

  • 变量以$开始,后面跟着变量名称:

 $first = "Hello World";
  • PHP中的注释:

    a.单行注释:

 //、#

    b.多行注释:

 /*...*/

4.PHP变量作用域

变量的作用域是脚本中可被引用的部分。

  • local

  • global

  • static

  • parameter

5.局部和全局作用域

 所有在函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,但是要在一个函数中访问一个全局变量,需要使用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; // 输出15
?>

6.Static作用域

当一个函数完成时,所有变量通常都会被删除,但是加上static可以使其完成运算之后被保留下来。

 <?php
function myTest()
{
static $x=0;
echo $x;
$x++;
} myTest(); // 每次调用时变量将保持前一次的值
myTest(); // 该变量仍然是局部变量
myTest(); // 输出012
?>

7.参数作用域

参数是通过调用代码将值传递给函数的局部变量。

参数是在参数列表中声明的,作为函数声明的一部分:

 <?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>

8.输出方式

两个基本输出方式:

echo:可以输出一个或者多个字符串。(输出速度快,没有返回值)

 <?php
echo "<h2>It's a good story</h2>"; //可以加html标签
echo ("How's it going?"); //echo()=echo
?>

print:只允许输入一个字符串,返回值总为1。

9.PHP常量

常量是一个简单值得标识符,在脚本中不能改变。

设置语法:

 bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

三个参数:

  • name:必选,常量名,也是标识符。

  • value:必选,常量的值。

  • case_insensitive:可选。如果设置为true,则大小写不敏感,默认敏感。

 <?php
define ("Alcohol","Pads"); //大小写敏感
echo Alcohol; //输出Pads
echo '</br>';
echo alcohol; //输出alcohol
?>
 <?php
define ("NIVEA","protection",true); //大小写不敏感
echo NIVEA;
echo "</br>";
echo nivea; //都输出protection
?>

10.PHP并置运算符

PHP只有一个并置运算符,“.”:(用于把字符串连接起来)

 <?php
define ("NIVEA","protection"); $txt1="protect your skin";
$txt2="from the sunlight!"; echo nivea . " " . ":" . " " . $txt1 . " " . $txt2;
//nivea : protect your skin from the sunlight!
?>

11.strlen(),strpos()函数

strlen():计算字符串长度。

strpos():计算字符串出现的第一个匹配位置

 <?php
echo strpos("Hello world!","world");
?>

12.PHP递增、递减运算符

13.比较运算符

注:var_dump()函数不仅可以返回值,还可以返回值的类型。

14.数组运算符

15.三元运算符

 (expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

 <?php
$name = "Annika";
//普通写法
$username = isset($name) ? $name : 'no name';
// PHP_EOL是一个兼容不同平台的换行符,提高代码可移植性
echo $username, PHP_EOL; //5.3之后的写法
$username = $name ?: 'no name';
echo $username;
?>

在 PHP7+ 版本多了一个 NULL 合并运算符 “??”:

 <?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
?>

16.运算符有优先级,但是用括号可以增加代码可读性

 <?php
// 优先级: && > = > and
// 优先级: || > = > or $a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a || $b;
var_dump($d); //这里的 $d 就是 boolean 值 true
?>

PHP学习笔记1的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. 【CSS】Sass理解

    原文在 https://github.com/zhongxia245/blog , 欢迎 star! Sass理解 时间:2016-09-24 22:56:12 作者:zhongxia 这里就不讲解S ...

  2. VS2017C++单元测试

    0.欢迎食用 希望对点进来的你有所帮助. 全文记流水账,内心想法如示例项目名称. 1.建立需测试的项目 新建项目 正常书写.h 和.cpp文件 2.新建单元测试 右击解决方案 -> 添加 -&g ...

  3. SDN 第三次上机作业

    SDN 第三次上机作业 1.创建拓扑 2.利用OVS命令下发流表,实现vlan功能 3.利用OVS命令查看流表 s1: s2: 4.验证性测试 5.Wireshark 抓包验证

  4. Python接口自动化--URL参数的编码和解码 6

    # _*_ coding:utf-8 _*_ #python2 import urllib #有时,需要从上一个请求的url获取参数,传到下一个请求中,中文会显示为编码的形式,这时候就需要进行解码 u ...

  5. python 爬取全量百度POI

    在网上找了很多关于爬取百度POI的文章,但是对“全量”的做法并没有得到最终的解决方案,自己写了一个,但还是不能实现全量POI抓取,能够达到至少50%的信息抓取.注意:这里所指“全量”是能够达到100% ...

  6. 如何将XML文件导入Excel中

    如下图所示为一个规范的XML文件,在Excel中可以将规范的XML文件导入到Excel成为规范的表格.具体有如下几种方法:   工具/原料   Excel 方法/步骤     单击“数据”选项卡下的“ ...

  7. 解决The SDK platform-tools version ((23)) is too old to check APIs compiled with API 23

    用2.0的Android Studio  bate版 打开项目,在包名的地方会出现一条红线,但是似乎不影响代码的正确性. 看着好不爽啊,我倒是还没运行就找办法解决掉了.就是说是否影响程序正常运行我是不 ...

  8. jmeter接口测试4-使用数据库mysql构造参数

    jmeter测试中,测试数据一般和测试用例分离 测试数据一般可以使用csv构造,进行参数化 但也可以使用mysql等数据库构造 方案一:一个线程循环调用mysql数据,不是并发,不适用于性能测试,更适 ...

  9. DB2创建function(二)

    DB2创建function(一),介绍将function内容作为字段值,或做为一个where条件的情况. DB2创建function(二),介绍返回的内容为一个集合的情况.调用结果集的示例如下: se ...

  10. IC设计推荐书籍

    IC设计推荐书籍 听语音 | 浏览:779 | 更新:2014-07-19 10:52 1 2 3 4 5 6 7 分步阅读 接触IC设计这一行已经有7年的时间了,前面4年是大学本科,用来学习知识,现 ...