PHP备忘
来源:互联网 发布:linux最新系统下载 编辑:程序博客网 时间:2024/06/08 12:03
1. 单引号,双引号
当双引号中包含变量时,变量会与双引号中的内容连接在一起;
当单引号中包含变量时,变量会被当做字符串输出。
<?php $world= "world"; $str1 = "Hello, $world"; //Hello, world $str2 = 'Hello, $world'; //Hello, $world echo $str1; echo "<br />"; echo $str2;?>
2. 常量如何取值
获取常量值的有两种方法取值。
第一种是使用常量名直接获取值;例如计算圆周率的面积,如下:
<?php define("PI",3.14); $r=1; $area = PI*$r*$r; //计算圆的面积?>
第二种是使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:
mixed constant(string constant_name)
第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)
<?php $p=""; //定义圆周率的两种取值 define("PI1",3.14); define("PI2",3.142); //定义值的精度 $height = "中"; //根据精度返回常量名,将常量变成了一个可变的常量 if($height == "中"){ $p = "PI1"; }else if($height == "低"){ $p = "PI2"; } $r=1; $area = constant($p)*$r*$r; echo $area;?>
3. PHP引用(&)
在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针:例如你不能对他们做指针运算,他们并不是实际的内存地址。
详细文章:PHP引用(&)使用详解、PHP手册
4. 魔术变量
__CLASS__ //返回类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。__DIR__ //文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。__FILE__ //返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。__FUNCTION__ //返回函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。__LINE__ //返回文件中的当前行号。__NAMESPACE__ //当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。__METHOD__ //返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。__STATIC__ //当你调用class的静态方法时,返回class名称,区分大小写。如果在继承中调用的话,不管在继承中有没有定义,都能返回继承的class名。
5. 魔术函数
__construct() //实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。 __destruct() //当删除一个对象或对象操作终止时被调用。 __call() //对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。 __get() //读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。 __set() //设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。 __toString() //打印一个对象的时被调用。如echo $obj;或print $obj; __clone() //克隆对象时被调用。如:$t=new Test();$t1=clone $t; __sleep() //serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。 __wakeup() //unserialize时被调用,做些对象的初始化工作。 __isset() //检测一个对象的属性是否存在时被调用。如:isset($c->name)。 __unset() //unset一个对象的属性时被调用。如:unset($c->name)。 __set_state() //调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。 __autoload() //实例化一个对象时,如果对应的类不存在,则该方法被调用。
6. Session和Cookie的区别
PHP中cookie和session的区别实例分析
7. Apache和Nginx的区别
Nginx 和 Apache 各有什么优缺点
Nginx实践一:centos apache更换为nginx
8. PHP命名空间
详细文章:PHP命名空间、命名空间概述
9. fastcgi与php-fpm的关系
详细文章:搞不清FastCgi与PHP-fpm之间是个什么样的关系、什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
10. 类的静态属性、静态方法
a)静态属性和静态方法不需要在类被实例化的情况下可以直接使用,不是静态的则一定得实例化类;
b)可以通过在该静态属性和方法的名称前加上操作符”self::”,实现在同一类的成员方法中访问静态属性和方法;
c)静态属性不可以由实例化的对象通过 -> 操作符来访问(但静态方法可以);
d)静态在读到这个类或者引入这个类文件的时候,就已经实例化并存放到内存中了,非静态类则需要new一下。
详细文章:类和对象:静态属性、静态方法、Static(静态)关键字
11. 类方法里->和::的区别
详细文章:PHP中调用类方法时->和::的区别是什么?
12. self、this的区别
self::
$this->
(注意:PHP > 5.3 允许由 $this
使用静态变量,用 $this::$foo
。 $this->foo
将仍然没有被定义,如果 $foo
是一个静态变量.) 需要一个实例对象 否 是详细文章:PHP中self和this的用法区别
13. require、require_once和include、include_once的区别
require
的使用方法如 require(“file.php”); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。 include
使用方法如 include(“file.php”); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 require_once()
语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。 include_once()
语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。
详细文章:require(),include(),require_once()和include_once()之间的区别
14. Linux如何输出文件最后10行,PHP如何输出文件最后10行
Linux下,输出前十行可以用 head -10 文件名
,输出后十行可以用 tail -10 文件名
:
// Linux:[root@localhost sendmail]# tail -n 10 sendmail.html <br> <a href="#">4</a> </td> </tr> </table> </td> </tr> </table></body></html>// PHP代码:exec("tail -n 10 sendmail.html", $output);echo "<pre>";var_dump($output);// 执行PHP代码[root@localhost sendmail]# /usr/bin/php do_queue.php<pre>array(10) { [0]=> string(32) " <br>" [1]=> string(45) " <a href="#">4</a>" [2]=> string(29) " </td>" [3]=> string(25) " </tr>" [4]=> string(24) " </table>" [5]=> string(17) " </td>" [6]=> string(13) " </tr>" [7]=> string(12) " </table>" [8]=> string(7) "</body>" [9]=> string(7) "</html>"}
15. 备忘函数
1)file_put_contents — 将一个字符串写入文件
$file = 'log.php';//要写入文件的文件名(可以是任意文件名),如果文件不存在,将会创建一个$content = "第一次写入的内容\n";if($f = file_put_contents($file, $content,FILE_APPEND)){ // 这个函数支持版本(PHP 5) echo "写入成功。<br />";}
2)mb_strlen — 获取字符串的长度(多字节的字符被计为 1)
//strlen会把每个中文计数为3,因为每个中文占3个字节echo strlen("你好,世界!"); //输出18echo mb_strlen("你好,世界!"); //输出6
3)mb_substr — 获取字符串的部分
// string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )// str: 从该 string 中提取子字符串。// start: str 中要使用的第一个字符的位置。// length: str 中要使用的最大字符数。 If omitted or NULL is passed, extract all characters to the end of the string.// encoding: encoding 参数为字符编码。如果省略,则使用内部字符编码。echo mb_substr("你好,世界!", 0, 4); //输出“你好,世”echo substr("你好,世界!", 0 ,4); //你�
4)round — 获取字符串的部分
echo round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4echo round(3.6, 0); // 4echo round(1.95583, 2); // 1.96echo round(1241757, -3); // 1242000echo round(5.045, 2); // 5.05echo round(5.055, 2); // 5.06
5)number_format — 获取字符串的部分
echo number_format(123456, 2, '.', ''); // 123456.00echo number_format(123456, 2, '.', ','); // 123,456.00echo number_format(123456, 2, ',', ' '); // 123 456,00
- PHP备忘
- PHP备忘
- PHP备忘
- msyql + php 安装备忘
- 一句话备忘PHP
- php学习中的备忘
- php 备忘小功能
- 转帖 备忘 PHP安装
- PHP + MySQL 命令备忘
- PHP 函数笔记,备忘
- php apns push备忘
- php学习备忘
- PHP, Mysql备忘
- php调试备忘
- 【PHP】symfony--备忘
- PHP,My Sql 备忘
- PHP+Apache配置备忘
- PHP 资源备忘
- Hadoop分布式文件系统——HDFS概念以及hdfs读写数据
- 基于MATLAB的简单函数调用
- 01-android 微信实现本地视频发布到朋友圈功能
- 分库分表带来的完整性和一致性问题
- centos 无法运行32位交叉编译器
- PHP备忘
- Java中的内部类和匿名类
- 百度新闻源“漏洞”爆粉!日流水十几万的微商都在偷偷用
- poi读取excel文件
- Onvif Digest 验证方式代码编写
- 跟波澜死磕Swift3基础篇②-Swift开发环境-第三节-xcode安装
- eclipse项目红色叹号解决方法
- usb 子系统(一): 子系统架构
- 招聘面试积累