php基础
时间:2020-03-27
本文章向大家介绍php基础,主要包括php基础使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PHP
简介
最初用于维护个人主页,简写为:Personal HomePage
。
最后改为:Hypertext Preprocessor
(超文本预处理器),于1994年诞生。
优势
- 性能好,开发效率高
- 跨平台(可以在不同的操作系统上运:
windows
/linux
/unix
) - 上手快,编辑简单,实用性强
- 面向对象[
PHP 4
开始,目前完全支持面向对象] - 开放的源代码,所有的
PHP
源代码都可以得到 - 成本低
注:PHP
灵活,对程序员的约束太少,PHP
默认是解释运行机制,所以很多问题在运行阶段才会发现。
B/S
结构和C/S
结构
B/S
:Browser-Server
,浏览器-服务器,通过浏览器访问,都可以看作B/S
C/S
:Client-Server
,客户端-服务器,通过客户端访问,比如QQ
,微信
PHP
基础语法
开始标记和结束标记
- 告诉
PHP
开始和停止解析二者之间的代码,这使得PHP
可以被嵌入到各种不同的文档中去。 - 如果是文件是纯
PHP
代码,最好在文件末尾删除PHP
结束标记。
指令分隔符
//指令分隔符:php和其他编程语言一样,在每个语句后用分号';'结束指令,一段PHP代码中的结束标记隐含一个分号,所以在一个PHP代码段中的最后一行可以不用分号结束。
echo 'hello, world'."\n";
注释
//单行注释:// #
//多行注释: /* */
echo "你好"."\n"; //单行注释
echo "你也好"."\n"; #单行注释
/*
* 多行注释
*/
echo "大家都好"."\n";
变量
由一个美元符号$
后面跟变量名来表示(变量名区分大小写)。
和其他编程语言一样,一个有效的变量名由字符或者下划线开头,后面跟上任意数量的字符、数字或者下划线(也可中文)。
$this
是个特殊的变量,不能被赋值。
//使用变量之前必须定义并进行赋值
$a; //定义后不赋值直接使用会报错:Undefined variable
echo $a;
//变量名区分大小写
$var = "Bob";
$Var = "Tom";
echo $var."和".$Var."\n";
传值赋值和引用赋值
/*
* 传值赋值:当一个变量的值赋予另外一个变量的时候,改变其中一个变量的值,将不会影响到另外一个变量。
* 引用赋值:新变量指向了原始变量,改动新的变量将影响到原始变量,反之亦然。(只有由名字的变量才能引用赋值,比如表达式就不可以)
*/
$a = "Bob";
$b = $a; //传值赋值
$b = 10;
echo "a:".$a."\tb:".$b."\n";
$c = &$a; //引用赋值
$c = 20;
echo "a:".$a."\tc:".$c."\n";
全局变量
/*
* php
* 在C语言中全局变量在函数中会自动生效,除非被局部变量覆盖。
* php中全局变量在函数中使用时必须声明为global
* $GLOBALS是一个关联数组,每一个变量为一个元素,键名对应对变量,值对应变量内容。
*/
$a = 1;
$b = 2;
function Sum()
{
echo "a:".$a."\tb:".$b; //不会有任何输出
//方法一:使用global标识全局变量
global $a, $b;
echo "a + b = ".($a + $b)."\n";
//方法二:使用$GLOBALS替代
echo "a + b = ".($GLOBALS['a'] + $GLOBALS['b'])."\n";
}
Sum();
静态变量
/*
* 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。
*/
//每次调用,$a都会重新定义赋初值,$b在编译期间初始化,以后不会重新定义。
function Test1()
{
$a = 0;
static $b = 0;
static $c = 1+2;
echo "a=".$a."\t"."b=".$b."\n";
$a++;
$b++;
}
for ($i = 0; $i < 10; $i ++)
{
Test1();
}
可变变量
/*
* 可变变量:一个变量的变量名可以动态设置和使用。
*/
$a = 'hello';
$$a = "world"; //一个可变变量获取了一个普通变量的值作为这个可变变量的变量名
echo "$a ${$a}"."\n";
echo "$a $hello"."\n";
常量
一旦被定义,就不能再改变或者取消定义
常量只能包含boolean
,integer
,float
,string
常量和变量有如下不同:
- 常量前面没有美元符号
$
; - 常量只能用
define()
函数定义,而不能通过赋值语句; - 常量可以不用理会变量的作用域而在任何地方定义和访问;
- 常量一旦定义就不能被重新定义或者取消定义;
- 常量的值只能是标量类型;
常量的定义
php5.3.0
后,除了使用函数define()
之外,还可以使用关键字const
来定义常量。
const
和define()
的区别:
- 版本差异,
php5.3.0
后才能使用const
关键字,define()
函数对所有版本兼容 - 定义位置差异:
define()
函数定义的常量是在执行define()
函数时定义的,可以在任何位置定义,无论是函数内或函数外
const
关键字定义的常量是编译时定义的,所以定义的时候必须处于最顶端的作用区域,不能在函数内部 - 对值的表达式支持差异
const
关键字定义的常量值的表达式中不支持运算符,define()
函数可以支持
注意:使用const
关键字定义常量必须处于最顶端的作用区域。因为用此方法是在编译时定义的,这就意味着不能在函数内,循环体内用const
来定义常量。
define("A", "Hello, world");
echo "A = ".A."\n";
const B = "你好";
echo "B = ".B."\n";
魔术常量
__LINE__
:文件中的当前行号
__FILE__
:文件的完整路径和文件名
__DIR__
:文件所在的目录
__FUNCTION__
:函数名称
__CLASS__
:类的名称
__TRAIT__
:Trait
的名字,包括其被声明的作用区域
__METHOD__
:类的方法名
__NAMESPACE__
:当前命名空间的名称
原文地址:https://www.cnblogs.com/jackw1/p/12580361.html
- 谈谈 char *num="123";和char num[4]="123";的区别
- 未越狱的iPhone/iPad也中招:走近强大的间谍软件XAgent与MadCap
- 【年末收藏】17个新手常见Python运行时错误
- C++ STL之priority_queue
- 链表的相关操作
- 《笨办法学Python》 第0课手记
- Python黑客学习笔记:从HelloWorld到编写PoC(上)
- java多线程(内附实例:窗口售票问题、人和叉子的问题)
- 数据结构之队列
- 《笨办法学Python》 第20课手记
- 泄露数据中的秘密:中国网民的密码设置习惯
- 微信小程序入门《一》: 简 介、文本、事件、样式
- 《笨办法学Python》 第19课手记
- Redis 4.0新功能介绍
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Android 天气APP(二十三)增加灾害预警、优化主页面UI
- Android 天气APP(二十一)滑动改变UI、增加更多天气数据展示,最多未来15天天气预报
- Android 读取csv格式数据文件
- Android LitePal的简单使用
- Android RecyclerVIew列表使用 (编辑、单选、全选、删除、动画效果+附源码)
- Android TV 焦点控制
- Kotlin学习日志(四)函数
- Kotlin学习日志(三)控制语句
- Kotlin学习日志(一)TextView、Button、Toast的使用
- Kotlin学习日志(二)数据类型
- Toast提示工具类
- RadioGroup+ViewPager +Fragment 制作APP主界面底部导航和左右滑动
- MD5加密工具类
- Kotlin修炼指南(四)
- Android Studio 安装APK在虚拟机时报 Installation failed due to: 'null' 解决