1. 基础

  • 注释: // 或 /* */
  • $标示变量
  • 语句末尾加分号
  • 数组: $oxo = array(array('x','','o'), array('p','x',''),array('','x','p'));
  • echo $oxo[1][2]
  • 常量: 之前不能用$符号, 只能用define函数定义

2. 对象复制

clone操作符

$obj2 = clone $obj1;

3. 类

  • 类的构造方法: __construct()
  • 析构方法: __destruct()
  • 静态方法: static    调用 User::static_function()

4. include_once 和 require_once.

尽量使用xxx_once,防止多次定义同名的常量或函数报错

include_once存在的问题是,PHP只会试图导入被请求的文件, 即便文件没有被找到程序依旧会继续执行.

5. 术语:

  • 当创建一个程序使用对象时,需要设计一个数据和代码的结合体,称为类. 任何这个类创建出来的新对象称为该类的一个实例(或事件).
  • 和对象有关的数据称为属性, 对象使用的函数称为方法.
  • 在定义一个类时, 要提供属性的名字以及相应方法的代码..
  • 使用继承,新的类会拥有继承类的所有属性. 原始类被称为超类, 新的类是子类.  extends
  • 派生一个类并声明自己的构造方法时, php不会自动调用父类的构造方法. 一定要知道所有代码的初始化, 子类总是要调用父类的构造方法.  parent::__construct();
  • 为了防止子类方法覆盖父类方法,可以使用关键字final

6. print_r,要求PHP按照常规阅读的格式输出变量的信息(_r代表"按照常规阅读格式")

7. 数组

数组循环的一个方法:

foreach( $papers as $paper)      //papers是数组, paper循环获取papers中的元素

foreach( $papers as $item=>$description)

while(list($item, $description) = each($paper))

8. 使用数组函数

is_array($fred): 检查变量是否为数组

count($fred) : 统计数组顶层元素数量

count($fred, 1)  : 获取一个多维数组中到底有多少元素. 第二个参数可选, 0或1, 0限制只统计顶层数组元素个数, 1强制且递归统计子数组的元素个数

sort($fred)  : 在提供的源数组上直接排序. 排序成功返回true, 失败返回false

sort($fred, SORT_NUMERIC);    :    强制按照数值排序

sort($fred, SORT_STRING);    :      强制按照字符串排序

rsort()    按相反顺序排序

shuffle($fred)    按随机顺序排序

explode()    允许接受一个包含几个单一字母(或字符串)的独立项的字符串,并将这些项放入一个数组. 常见把一句话分解成包含所有单词的一个数组. 第一个参数表示分隔符

extract($_GET)    将传递给变量的值存起来

compact()    通过变量及其值来创建数组

9. 输出

printf  通过格式化字符控制文本的输出格式

sprintf  将结果传递给另一个变量而不是浏览器

10. 时间

date($format, $timestamp)

mktime(小时数,分钟数,秒数,月分数,天数,年数)

time()

11. 文件处理

file_exists    检测文件是否存在

fopen

fgets()   读文件 获取一整行数据

fread()    读取多行数据或多行中的部分数据

copy("test1.txt","test2.txt")  拷贝文件

rename()    移动文件或重命名

unlink      删除文件

flock($fh, LOCK_EX)  在多用户访问时为文件枷锁

flock($fh, LOCK_UN)  释放排他锁

file_get_contents     读取整个文件(甚至通过url请求html文件显示页面到屏幕)

12. 系统调用

exec()

《PHP, MySQL, Javascript和CSS》读书随手记----php篇的更多相关文章

  1. 《PHP, MySQL, Javascript和CSS》读书随手记----MySQL篇

    一 基础 要求结尾分号 如果在命令输入期间想要终止其运行,不要Ctrl-C. 要输入\c,并按回车键. sql命令和关键字不区分大小写. 表名在windows中不区分大小写,但是在linux和os x ...

  2. 前端html、Javascript、CSS技术小结

    简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页 ...

  3. 5种JavaScript和CSS交互的方法

      分享   分享   分享   分享   分享   随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊.本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需 ...

  4. JavaScript根据CSS的Media Queries来判断浏览设备的方法

    CSS 部分 首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值.这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗 ...

  5. 5种你未必知道的JavaScript和CSS交互的方法

    随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊.本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合作.我们的网页中都有.js文件和.css ...

  6. Dynamically loading an external JavaScript or CSS file

    原文:   Dynamically loading an external JavaScript or CSS file 通过javascript动态加载css文件和javascript文件,主要是通 ...

  7. 《PHP与MySQL WEB开发》读书笔记

    <PHP与MySQL WEB开发>读书笔记 作者:[美]Luke Welling PHP输出的HereDoc语法: echo <<<theEnd line 1 line ...

  8. Odometer使用JavaScript和CSS制作数字滑动效果

    Odometer是一个使用JavaScript和CSS技术,制作出数字上下滑动的动画效果插件,有点类似与我们的天然气的读数的动画效果,这个插件是轻量级的,压缩版本只有3kg,使用CSS3动画技术,所以 ...

  9. HTML文档中使用JavaScript和css

    HTML文档中使用JavaScript和css 引入css 内嵌式引入:将css代码写在HTML中的style标签里面 <!DOCTYPE html> <html> <h ...

随机推荐

  1. jrebel

    jrebel 编辑   JRebel是一套JavaEE开发工具.JRebel允许开发团队在有限的时间内完成更多的任务修正更多的问题,发布更高质量的软件产品. JRebel是收费软件,用户可以在JReb ...

  2. Python 单列

    1.__new__内置方法 在对类进行实例化时自动执行 功能1:为对象分配空间 功能2:返回空间的引用 2.单列实现方法 class MusicPlayer: # 记录对象内存引用,初始值为None ...

  3. dfs序理解-hdu3887

    dfs序就是相当于把树转化成了一个区间,在区间上进行操作. void dfs(int u, int fa) { l[u]=++key; ; i=e[i].next) { int v=e[i].v; i ...

  4. mysqldb mysql_config

    在安装mysqldb Python的时候会用到mysql_config,但是正常安装的MySQL环境下是没有这个文件的,这个文件在Linux下是可执行文件,所以需要到mysql官方网站上下载MySQL ...

  5. day09作业—函数进阶

    # 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func1(*args): sum = 0 for i in args: sum += i print(sum) func1(1 ...

  6. 2018.12.31 bzoj3992: [SDOI2015]序列统计(生成函数+ntt+快速幂)

    传送门 生成函数简单题. 题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1​,a2​,...as​},所有数都在[0,m−1][0,m-1][0,m− ...

  7. 2018.11.07 NOIP模拟 数独(模拟)

    传送门 sbsbsb签到题. 读题时间比写题时间长系列. 写一个checkcheckcheck函数来检验当前时间段第(i,j)(i,j)(i,j)号格子能否放入kkk就行了. 代码

  8. 2018.11.03 NOIP模拟 树(长链剖分优化dp)

    传送门 考虑直接推式子不用优化怎么做. 显然每一个二进制位分开计算贡献就行. 即记录fi,jf_{i,j}fi,j​表示距离iii这个点不超过jjj的点的每个二进制位的0/10/10/1个数. 但直接 ...

  9. 开启Greenplum DataBase报错:could not bind IPv4 socket: Address already in use

    在运行gpstart时无法开启服务,查看日志看到下图所示错误: 查看日志错误大概是端口已被占用,所以无法重启. 解决方法: (1)利用ipcs查看数据库占用的共享内存.(如下图所示) (2)查看数据库 ...

  10. linux将80端口映射到指定端口命令

    1.添加一个端口映射 将80端口映射到8088端口命令如下: iptables -t nat -I PREROUTING -p tcp --dport 80-j REDIRECT --to-port ...