PHP学习第一天
PHP语句是以分号结尾的
单行注释:
// C++风格的单行注释
# shell 风格的单行注释 跟python差不多
多行注释:
/*......*/ c++风格的多行注释
常量定义:
1.define(常量名,值[,flase/true])
最后一个参数是常量名区分大小写设置. true时不区分常量名的大小写; 默认为false,程序要区分大小写
2.获取常量值
constant(常量名), 函数返回常量中保存的数据
3. 判断常量是否已经被定义 defined(常量名)
当常量名存在时候 返回ture 否则返回flase
常量名 | 常量值 | 说明 |
---|---|---|
__FILE__ | 当前的文件名 | 在哪个文件中使用,就代表哪个文件名称 |
__LINE__ | 当前的行数 | 在代码的哪行使用,就代表哪行的行号 |
__FUNCTION__ | 当前的函数名 | 在哪个函数中使用,就代表哪个函数名 |
__CLASS__ | 当前的类名 | 在哪个类中使用,就代表哪个类的类名 |
__METHOD__ | 当前对象的方法名 | 在对象中的哪个方法使用,就代表这个方法名 |
PHP_OS | UNIX或WINNT等 | 执行PHP解析的操作系统名称 |
PHP_VERSION | 5.5 | 当前php服务器的版本 |
TRUE | TRUE | 代表布尔值,真 |
FALSE | FALSE | 代表布尔值,假 |
NULL | NULL | 代表空值 |
DIRECTORY_SEPARATOR | \或/ | 根据操作系统决定目录的分隔符 |
PATH_SEPARATOR | :或; | 在linux上是一个":"号,WIN上是一个";"号 |
E_ERROR | 1 | 错误,导致php脚本运行终止 |
E_WARNING | 2 | 警告,不会导致php脚本运行终止 |
E_PARSE | 4 | 解析错误,由程序解析器报告 |
E_NOTICE | 8 | 非关键的错误,例如变量未初始化 |
M_PI | 3.141592653 | π 圆周率 |
PHP 定义变量
$变量名 = 变量的值
命名规程都是那样 跟C和python差不多
$a = 10 //直接赋值
$a = $b //传值赋值
$b = &$a //地址传递 跟c一样 就是传地址过去
echo 双引号输出和丹引号输出的区别
单引号:在单引号里括号的字符串中的变量名不按变量处理,而按照常量字符串来处理,所以,显示的字符串也是变量名本身不会显示变脸的值
双引号:在双引号中引括的字符串中的变量名按照变量处理,如果变量值变了,显示的字符串内容也会发生改变 tips: 双引号中的变量要用空格分开 不然会报错 找不到变量名
变量的作用域
1 局部变量
2 全局变量
3 静态变量
跟python 和c差不多
4 可变变量
$$变量名 = 值
$($变量名) = 值
例如:
$a = "lalala"
$$a = 123 (就等于 $lalala = 123 )
PHP系统预定义变量
变量的名称 | 说明 |
$_SERVER['SERVER_ADDR'] | 当前运行脚本所在的服务器的 IP 地址 |
$_SERVER['SERVER_NAME'] | 当前运行脚本所在的服务器的主机名。如果程序运行在虚拟主机上,该名称由虚拟主机所设置的值决定 |
$_SERVER['REQUERT_METHOD'] | 访问页面使用的请求方法。如GET,HEAD,POST,PUT等,如果请求的方式是HEAD,PHP脚本将输出头信息后中止(这意味着在产生任何输出后,不再有输出缓冲) |
$_SERVER['REMOTE_ADDR'] | 浏览当前页面的用户的 IP 地址 |
$_SERVER['REMOTE_HOST'] | 浏览当前页面的用户的主机名,反向域名解析基于该用户的REMOTE_ADDR |
$_SERVER['REMOTE_PORT'] | 用户机器上连接到 Web 服务器所使用的端口号 |
$_SERVER['SCRIPT_FILENAME'] | 当前执行脚本的绝对路径。 注意,如果脚本在CLI中被执行,作为相对路径,如file.php或者.../file.php,$_SERVER['SCRIPT_FILENAME']将包含用户指定的相对路径 |
$_SERVER['SERVER_PORT'] | 当前运行脚本所在的服务器的端口号,默认是80,如果使用SSL安全连接,则这个值是用户设置的HTTP端口 |
$_SERVER['SERVER_SIGNATURE'] | 包含了服务器版本和虚拟主机名的字符串。 |
$_SERVER['DOCUMENT_ROOT'] | 当前运行脚本所在的文档根目录。在服务器配置文件中定义。 |
$_COOKIE | 通过 HTTP Cookies 方式传递给当前脚本的变量的数组。这些Cookie多数是由执行PHP脚本时通过setCookies()函数设置的。 |
$_SESSION | 包含与所有会话变量有关的信息,$_SESSION 变量主要应用于会话控制和页面之间值的传递 |
$_POST | 包含通过POST方法传递的参数的相关信息,主要用于获取通过POST方法提交的数据 |
$_GET | 包含通过GET方法传递的参数的相关信息,主要用于获取通过GET方法提交的数据 |
$GLOBALS | 由所有已定义全局变量组成的数组。变量名就是该数组的索引。它可以称的上就是所有超级变量的超级集合。 |
$_FILES | 通过 HTTP POST 方式上传到当前脚本的项目的数组 |
$_REQUEST | 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。 |
$_ENV | 通过环境方式传递给当前脚本的变量的数组。 |
$php_errormsg | 前一个错误信息 |
$HTTP_RAW_POST_DATA | 原生POST数据 |
$http_response_header | HTTP 响应头 |
$argc | 传递给脚本的参数数目 |
$argv | 传递给脚本的参数数组 |
PHP学习第一天的更多相关文章
- Magento学习第一课——目录结构介绍
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
- YII2学习第一天
YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...
- Java学习第一天
Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html nbtstat ...
- 一、Android学习第一天——环境搭建(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...
- web学习第一章
web学习第一章 我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- swift系统学习第一章
第一节:变量,常量,类型推断,字符,字符串 //swift学习第一节 /* 变量 常量 类型推断 字符 字符串 */ import UIKit //变量 var str = "swift&q ...
- (译) 强化学习 第一部分:Q-Learning 以及相关探索
(译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...
- [未完成]WebService学习第一天学习笔记
[未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记
- (转)ASP.NET MVC 学习第一天
天道酬勤0322 博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅 | 管理 随笔:10 文章:0 评论:9 引用:0 ASP.NET MVC 学习第一天 今天开始第一天学习as ...
随机推荐
- C# 1.0 到 4.0 的进化 1
定义一个产品类 Product C# 1 using System; using System.Collections; namespace C1 { public class Product { s ...
- C++关于vector、queue、stack、priority_queue的元素访问
vector.queue.stack.priority_queue对元素进行元素访问时,返回的是对应元素的引用.
- SpringBoot入门 (十四) Security安全控制
本文记录在SpringBoot使用SpringSecurity进行安全访问控制. 一 什么是Security Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访 ...
- 即时通讯App怎样才能火?背后的技术原理,可以从这5个角度切入
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 社交场景 ...
- Java 容器源码分析之1.7HashMap
以下内容基于jdk1.7.0_79源码: 什么是HashMap 基于哈希表的一个Map接口实现,存储的对象是一个键值对对象(Entry<K,V>): HashMap补充说明 基于数组和链表 ...
- 关于Markdown插入图片路径错误的问题
关于Markdown插入图片路径错误的问题 开发问题 解决方法 妈耶,连续一天写2篇博客,也是醉了,这篇博客主要是介绍关于Markdown插入图片路径错误的问题 在上篇中,我介绍了一下Markdow ...
- FFmpeg开发环境构建
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10035365.html 1. 相关资源介绍 本文主要讲述 linux 平台 x86(及x ...
- [Angularjs]处理页面闪烁的方法
摘要 在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况.数据还没响应,但页面已经渲染了.这是因为浏览器和angularjs渲染页面都需要消耗一定的时间,这个间隔可能很小,甚至让 ...
- Webscoket
websocket: http://blog.csdn.net/xiaoping0915/article/details/78754482 很好的讲解了websocket ,还有一个小例子 ht ...
- Direct2D教程I——简介及首个例子
在博客园里,系统的Direct2D的教程比较少,只有“万一”写了一个关于Direct2D的系列(Delphi 2009).于是,仿照其系列,写一个在VS下的Direct2D系列教程. 博客园中的高手还 ...