php初学记
开始和结束标记
- 常用两种:
<?php ?>
,<script language="php"></script>
- 短标记:
<? ?>
,需打开php.ini文件的short_open_tag指令 - ASP风格标记:
<% %>
,需打开php.ini文件的asp_tags指令
php数据类型(9种)
- 四种标量类型
- boolean
- integer
- float
- string
- 三种复合类型
- array
- object
- callable(可调用)
- 两种特殊类型
- resource(资源)
- NULL(无类型)
- 伪类型
- mixed(混合类型)
- number(数字类型)
- callback(回调类型,又称callable)
- array|object
- void
- 伪变量$...
- 类型检测函数(is_type),eg:
is_string($str)
超全局变量
- $GLOBALS
- $_SERVER:保存关于报头、路径、脚本位置等信息
- $_REQUEST:收集html表单提交的数据
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
在函数体内访问全局变量
- global $variable_name
- $GLOBALS[variable_name]
设置常量
define(const_name, const_value, boolean)
- const_name:常量名
- const_value:常量值
- boolean:常量名大小写敏感,默认false敏感,true不敏感
创建数组
array()
- 获取数组长度
count($arr)
- 数组排序:升序
sort()
,降序rsort()
- 数组键排序:升序
ksort()
,降序krsort()
- 数组值排序:升序
asort()
,降序arsort()
foreach 循环(只用于数组)
foreach($array as $value) {}
foreach($array as $key => $value) {}
魔术变量
__LINE__
:当前行号__FILE__
:文件完整路径和文件名__DIR__
:文件所在目录__FUNCTION__
:函数名称__METHOD__
:类的方法名__NAMESPACE__
:当前命名空间的名称
面向对象
- 类使用class关键字后加上类名定义
- 类名后的一对大括号({})内可以定义变量和方法
- 类的变量使用var来声明,变量也可以初始化值
- 函数定义类似php函数的定义,但只能通过该类及其实例化的对象访问
- 构造函数
function __construct($arg1, $arg2, ...)
,主要用来初始化对象 - 析构函数
function __destruct()
,在对象生命周期结束时调用,可销毁变量 - 继承
extends
,php不支持多继承 - 方法重写,子类可改写父类方法以满足需求
- 对属性或方法的访问控制:
public
、protected
、private
- 接口
interface
- 常量用
const
定义,无需$ - 抽象类
- 声明为static的属性或方法,可以不实例化类而直接访问
- 父类方法被声明为final,子类无法覆盖与继承
- 子类调用父类构造方法
parent::__construct()
php初学记的更多相关文章
- Dancing Links初学记
记得原来备战OI的时候,WCX大神就研究过Dancing Links算法并写了一篇blog.后来我还写了个搜索策略的小文章( http://www.cnblogs.com/pdev/p/3952279 ...
- DIV+CSS初学随记
字间隔word-spacing 属性可以改变字(单词)之间的标准间隔.其默认值 normal 与设置值为 0 是一样的. word-spacing 属性接受一个正长度值或负长度值.如果提供一个正长度值 ...
- 记初学python的一些心得
人生苦短,我用python! 其实我自学python也很长一段时间了,但总是去更换学习资料,搞的现在学的不是很好,因为没更换次资料都要从头开始学起,那么分享下我的学习战况吧,不是很好,还将就的能看. ...
- 初学mysql 那些记不住的命令
修改密码: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html MySQL 5.7.6 之后: ALTER USER ...
- 记初学net-SNMP
自从弄完那个jsp的网盘(其实还是个烂摊子),这几天一直在研究snmp. 有需求就激发动力,对,人都是被逼出来的.五一这几天,天天搁这坐着,毫无头绪. 下面切入正题. 要做一个监控园区网在线数的平台, ...
- dubbo初学采坑记
写在前面的话 dubbo 现在是apache组织旗下的项目,相信国内也有很多人使用.最近一个同事离职,我就接手了他的项目.远程通讯就是用的dubbo框架来实现的.使用Intelij idea 写了一个 ...
- 初学Linux基本的命令操作应当记牢
Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...
- webpack初学踩坑记
注意事项: 1. webpack不用装在全局环境下,在哪个项目中使用,就安装在该项目下即可 1. 问题一:npm init 初始化一个项目后,添加webpack.config.js文件,在该项目中通过 ...
- cuda 初学大全
转自:http://blog.csdn.net/augusdi/article/details/12529331 cuda 初学大全 1 硬件架构CUDA编程中,习惯称CPU为Host,GPU为Dev ...
随机推荐
- Bind读取配置到C#实例
1.创建一个空的ASP.NET Core Web 应用程序 2.程序包管理控制台执行Install-Package Microsoft.AspNetCore -Version 2.0.1 3.创建js ...
- jQuery核心函数的四种不同用法
核心函数根据实参的不同,有四种不同的用法. ①传一个函数作为参数 例如:$(function(){}) 作用:和window.onload = function(){}类似,它会在文档加载完成之后运行 ...
- ubuntu14.04 安装五笔输入法(fcitx)
ubuntu 14.04安装完成之后,一打字,默认的ibus一直在显示.解决办法,直接卸载ibus,使用fcitx. fictix拼音有fcitx-pinyin.fcitx-sogoupinyin.f ...
- AFNetworking 报3840
工作中遇到前后台交互,前端解析不了后端返回的数据格式 ,原因在于没有标准统一的请求格式 这是个坑,但是还是有办法修复 错误提示: Error Domain=NSCocoaErrorDomain Cod ...
- J01-Java IO流总结一 《异常捕获》
下面演示java中处理I/O操作时的异常的正确方式,总结自书籍,书名忘啦~ 先看一种不正确的方式 方式一: import java.io.FileInputStream; import java.io ...
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
- asterisk与freepbx常用的命令
asterisk 常用命令: 通过asterisk -r 连接我们的asterisk. 在CLI中常用的命令: sip show peers 显示所有的SIP peers(包括friends) sip ...
- DHCP协议原理及其实现流程
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中 ...
- lucene源码分析(1)基本要素
1.源码包 core: Lucene core library analyzers-common: Analyzers for indexing content in different langua ...
- [CQOI 2018]九连环
Description 题库链接 给你一个 \(n\) 连环,游戏规则是: 第一个(最右边)环任何时候都可以任意装上或卸下: 如果第 \(k\) 个环没有被卸下,且第 \(k\) 个环右边的所有环都被 ...