phpthis别名
1. php函数参数中的&符号是什么意思
在PHP中&符号即传的是变量的引用而不是拷贝,引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针,它们是符号表别名。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身 - 变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的紧密连接。
PHP 的引用允许你用两个变量来指向同一个内容。意思是,当你这样做时:
<?php
$a =&$b
?>
这意味着 $a 和 $b 指向了同一个变量。
注: $a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
同样的语法可以用在函数中,它返回引用,以及用在 new 运算符中(PHP 4.0.4 以及以后版本):
<?php
$bar =& new fooclass();
$foo =& find_var ($bar);
?>
注: 不用 & 运算符导致对象生成了一个拷贝。如果你在类中用 $this,它将作用于该类当前的实例。没有用 & 的赋值将拷贝这个实例(例如对象)并且 $this 将作用于这个拷贝上,这并不总是想要的结果。由于性能和内存消耗的问题,通常你只想工作在一个实例上面。
尽管你可以用 @ 运算符来关闭构造函数中的任何错误信息,例如用 @new,但用 &new 语句时这不起效果。这是 Zend 引擎的一个限制并且会导致一个解析错误。
引用做的第二件事是用引用传递变量。这是通过在函数内建立一个本地变量并且该变量在呼叫范围内引用了同一个内容来实现的。例如:
<?php
function foo (&$var) {
$var++;
}
$a=5;
foo ($a);
?>
将使 $a 变成 6。这是因为在 foo 函数中变量 $var 指向了和 $a 指向的同一个内容。更多详细解释见引用传递。
引用做的第三件事是引用返回。
引用不是什么
如前所述,引用不是指针。这意味着下面的结构不会产生你预期的效果:
<?php
function foo (&$var){
$var =& $GLOBALS["baz"];
}
foo($bar);
?>
这将使 foo 函数中的 $var 变量在函数调用时和 $bar 绑定在一起,但接着又被重新绑定到了 $GLOBALS["baz"] 上面。不可能通过引用机制将 $bar 在函数调用范围内绑定到别的变量上面,因为在函数 foo 中并没有变量 $bar(它被表示为 $var,但是 $var 只有变量内容而没有调用符号表中的名字到值的绑定)。
引用传递
你可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。语法如下:
<?php
function foo (&$var) {
$var++;
}
$a=5;
foo ($a);
// $a is 6 here
?>
注意在函数调用时没有引用符号 - 只有函数定义中有。光是函数定义就足够使参数通过引用来正确传递了。
以下内容可以通过引用传递:
变量,例如 foo($a)
New 语句,例如 foo(new foobar())
从函数中返回的引用,例如:
<?php
function &bar() {
$a = 5;
return $a;
}
foo(bar());
?>
详细解释见引用返回。
任何其它表达式都不能通过引用传递,结果未定义。例如下面引用传递的例子是无效的:
<?php
function bar(){ // Note the missing &
$a = 5;
return $a;
}
foo(bar());
foo($a = 5) // 表达式,不是变量
foo(5) // 常量,不是变量
?>
这些条件是 PHP 4.0.4 以及以后版本有的。
引用返回
引用返回用在当你想用函数找到引用应该被绑定在哪一个变量上面时。当返回引用时,使用此语法:
<?php
function &find_var ($param){
/* ...code... */
return $found_var;
}
$foo =& find_var ($bar);
$foo->x = 2;
?>
本例中 find_var 函数所返回的对象的属性将被设定(译者:指的是 $foo->x = 2; 语句),而不是拷贝,就和没有用引用语法一样。
注: 和参数传递不同,这里必须在两个地方都用 & 符号 - 来指出返回的是一个引用,而不是通常的一个拷贝,同样也指出 $foo 是作为引用的绑定,而不是通常的赋值。
取消引用
当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:
<?php
$a = 1;
$b =& $a;
unset ($a);
?>
不会 unset $b,只是 $a。
再拿这个和 Unix 的 unlink 调用来类比一下可能有助于理解。
引用定位
许多 PHP 的语法结构是通过引用机制实现的,所以上述有关引用绑定的一切也都适用于这些结构。一些结构,例如引用传递和返回,已经在上面提到了。其它使用引用的结构有:
global 引用
当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的:
<?php
$var =& $GLOBALS["var"];
?>
这意味着,例如,unset $var 不会 unset 全局变量。
$this
在一个对象的方法中,$this 永远是调用它的对象的引用。
2. php中如何给类规范的注释
需要准备的材料分别是:电脑、phpstrom编辑器。
1、首先,打开phpstrom编辑器,新建php文件,例如:index.php,定义一个函数示例。
3. ThinkPHP中foreach和volist的区别
ThinkPHP中foreach和volist的区别
1.foreach标签
foreach标签用于循环输出:
foreach(name,item,key)
name(必须):要输出的数据模板变量
item(必须):循环单原变量
key(可选):循环的key变量,默认值为key
示例:
<foreach name='list' item='vo'>
{$vo.id}
{$vo.name}
</foreach>
foreach标签相对于volist标签简洁,没有volist标签那么多功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。
2.volist标签
volist标签主要用于在模板中循环输出数据集或者多维数组
volist(name,id,offset,length,key,mod,empty)
name(必须):要输出的数据模型变量
id(必须):循环变量
offset(可选):要输出数据的offset
length(可选):输出数据的长度
key(可选):循环的key变量,默认值为i
mod(可选):对key值取模,默认为2(用于偶数行查询等)
empty(可选):如果数据为空显示的字符串
通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。
在Action中首先对模板赋值:
$user=M('User');
$list=$user->select();
$this->assign('list',$list);
$this->display();
在模板定义如下,输出编号和姓名
<volist name='list' id='vo'>
{$vo.id}
{$vo.name}
</volist>
支持输出部分数据,例如输出其中的第5-15条记录:
<volist name='list' id='vo' offset='5' length='10'>
{$vo.id}
{$vo.name}
</volist>
输出偶数行记录:
<volist name='list' id='vo' mod='2'>
<eq name="mod" value='1'>{$vo.name}</eq>
</volist>
mod属性还用于控制一定记录的换行:
<volist name='list' id='vo' mod='5'>
{$vo.name}
<eq name="mod" value='4'><br/></eq>
</volist>
输出循环变量:
<volist name='list' id='vo' key='k'>
{$k}.{$vo.name}
</volist>
如果没有指定key属性的话,默认使用循环变量i,例如:
<volist name="list" id="vo" >
{$i}.{$vo.name}
</volist>
如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:
<volist name="list" id="vo" >
{$key}.{$vo.name}
</volist>
volist还有一个别名iterate,用法和volist是一样。
从2.1版开始允许使用函数设定数据集,如:
<volist name=":fun('arg')" id="vo">{$vo.name}</volist>
4. php极光推送怎么绑定别名
方法如下:
public void save(){
try {
FileOutputStream outStream=this.openFileOutput("a.txt",Context.MODE_WORLD_READABLE);
outStream.write(text.getText().toString().getBytes());
outStream.close();
Toast.makeText(MyActivity.this,"Saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
return;
}
5. 如何配置PHPadmin
phpadmin就是一个产品,用于管理mysql数据库的,毕竟很多数据库服务器不能够公开连接,所以只能够使用http的方式来进行连接管理。
下载phpadmin( http://xj-http.skycn.net:8181/down/phpMyAdmin-2.6.1-rc2.zip)解压到apache能够访问的一个目录中(首先apache和php已经集成好了,能够浏览php页面)。运行访问index.php会出现一些提示情况。如果你的mysql安全设置不错的话,可能默认情况下是不能够连接到你的服务器的,需要修改一些配置信息。
修改phpadmin/config.inc.php文件,其中主要是对mysql连接方式,连接路径以及用户名密码的设置。
修改如下:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpadmin/';
$cfg['PmaAbsoluteUri_DisableWarning'] = TRUE;
$cfg['blowfish_secret'] = 'admin';
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection
// (requires PHP >= 4.3.0)
$cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings
// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user"
// and "mysql/db" tables).
// The controluser is also
// used for all relational
// features (pmadb)
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ''; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
其中比较重要的几个参数意义:
'PmaAbsoluteUri' phpadmin的全路径,如果在apache中设定了一个alias的话就使用这个了
'PmaAbsoluteUri_DisableWarning' 这个好像是用于取消警告的,经常安装好了在访问的页面上面会出现一些红色字体的警告(安全等等),如果设置成为true就不出现了
'blowfish_secret' 这个是如果授权方式设置成为cookie的话就会使用这个来进行加密存入到cookie中的用户名和密码
'auth_type' 用于设置登陆方式,config是直接从这个文件中获取user/password然后连接数据库,http则是在客户端访问的时候会弹出一个输入用户名密码的框进行认证处理 cookie则是通过页面输入用户名密码进行连接。其中config的安全等级最低,cookie的等级最高,不过如果禁用了cookie则无法使用cookie的方式进行认证。
通常设置成为cookie的方式以后要在apache的httpd.conf文件中修改对应的配置:
#added for phpmyadmin
Alias /phpadmin/ "website/phpMyAdmin-2.6.1-rc2/"
#php_admin_flag engine on
#php_admin_flag safe_mode off
DirectoryIndex index.php
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
#php_admin_flag engine on
#php_admin_flag safe_mode off
#php_admin_value open_basedir none
#php_admin_value open_basedir "website/phpMyAdmin-2.6.1-rc2/"
当然主要是设置访问权限和别名
6. php中有几个截取字符创的函数
函数名 作用 php版本
chr() 从指定的 ASCII 值返回字符。 3
chunk_split() 把字符串分割为一连串更小的部分。 3
count_chars() 返回字符串所用字符的信息。 4
explode() 把字符串打散为数组。 3
implode() 把数组元素组合为一个字符串。 3
join() implode() 的别名。 3
levenshtein() 返回两个字符串之间的 Levenshtein 距离。 3
localeconv() 返回包含本地数字及货币信息格式的数组。 4
ltrim() 从字符串左侧删除空格或其他预定义字符。 3
md5() 计算字符串的 MD5 散列。 3
md5_file() 计算文件的 MD5 散列。 4
metaphone() 计算字符串的 metaphone 键。 4
money_format() 把字符串格式化为货币字符串。 4
nl_langinfo() 返回指定的本地信息。 4
nl2br() 在字符串中的每个新行之前插入 HTML 换行符。 3
number_format() 通过千位分组来格式化数字。 3
parse_str() 把查询字符串解析到变量中。 3
print() 输出一个或多个字符串。 3
printf() 输出格式化的字符串。 3
similar_text() 计算两个字符串的匹配字符的数目。 3
sprintf() 把格式化的字符串写写入一个变量中。 3
str_ireplace() 替换字符串中的一些字符。(对大小写不敏感) 5
str_replace() 替换字符串中的一些字符。(对大小写敏感) 3
str_split() 把字符串分割到数组中。 5
strcasecmp() 比较两个字符串。(对大小写不敏感) 3
strchr() 搜索字符串在另一字符串中的第一次出现。strstr() 的别名 3
strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数。 3
stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感) 5
stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感) 3
strlen() 返回字符串的长度。 3
strpbrk() 在字符串中搜索指定字符中的任意一个。 5
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感) 3
strrchr() 查找字符串在另一个字符串中最后一次出现的位置。 3
strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感) 5
strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感) 3
strspn() 返回在字符串中包含的特定字符的数目。 3
strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感) 3
strtok() 把字符串分割为更小的字符串。 3
strtr() 转换字符串中特定的字符。 3
substr() 返回字符串的一部分。 3
substr_compare() 从指定的开始长度比较两个字符串。 5
substr_count() 计算子串在字符串中出现的次数。 4
substr_replace() 把字符串的一部分替换为另一个字符串。 4
ucwords() 把字符串中每个单词的首字符转换为大写。 3
wordwrap() 按照指定长度对字符串进行折行处理。 4
7. PHP是什么
PHP(PHP:Hypertext Preprocessor递归缩写)中文名字是:“超文本预处理器”,是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。编程范型是面向对象、命令式编程的,截止2019年4月24日为止,最新的版本是PHP 5.6.0(28 Aug 2014),其操作的系统为windows/linux/Mac跨平台。
(7)phpthis别名扩展阅读:
PHP的功能
1、创建博客
使用PHP创建博客wordpres,可以轻松创建博客。即使您不具备PHP知识,也可以使用它,但如果您可以编写PHP,则可以自定义您的博客并创建主题。
2、网站开发
60%全球互联网网站采用php技术,80%国内互联网网站使用php开发。这些网站包含购物网站,政府企业网站,QQ空间,论坛博客等等。
3、移动端微网站开发以及小程序
移动设备的普及为移动互联网的快速发展奠定了基础!手机淘宝网站,手机京东网站等等, 微信公众号应用中的微网站。
8. php学习有什么要求
HP 学习目录
├─PHP视频教程 1 LAMP网站构建
│ ├─PHP教程 1.1.1 新版视频形式介绍
│ ├─PHP教程 1.1.2 BS结构软件类型介绍
│ ├─PHP教程 1.1.3 现在是Web2.0的时代
│ ├─PHP教程 1.1.4 Web开发标准
│ ├─PHP教程 1.1.5 认识脚本语言
│ ├─PHP教程 1.2.1 动态网站开发所需的web构件1
│ ├─PHP教程 1.2.2 动态网站开发所需的web构件2
│ ├─PHP教程 1.2.3 动态网站开发所需的web构件3
│ ├─PHP教程 1.3.1 Web的工作原理
│ ├─PHP教程 1.3.2 Web工作原理之url解析
│ ├─PHP教程 1.3.3 Web工作原理之动态网站解析
│ ├─PHP教程 1.4.1 介绍了三种主流的Web应用平台
│ ├─PHP教程 1.4.2 主要三种Web平台进行对比
│ └─PHP教程 1.5.1 介绍LAMP网站开发组合概述及发展趋势
├─PHP视频教程 2 从搭建你的PHP开发环境开始
│ ├─PHP教程 2.1.1 PHP的几种运行环境
│ ├─PHP教程 2.2.1 安装PHP的运行环境
│ └─PHP教程 2.2.2 PHP运行环境的介绍
├─PHP视频教程 3 PHP基本语法
│ ├─PHP教程 3.1.1 PHP的功能介绍
│ ├─PHP教程 3.2.1 第一个PHP程序
│ ├─PHP教程 3.3.1 PHP语言标记及指令分隔符“分号”
│ ├─PHP教程 3.3.2 PHP程序注释及空白的使用
│ ├─PHP教程 3.4.1 PHP变量在计算机内存中的存储方式
│ ├─PHP教程 3.4.2 PHP变量的声明及变量的命名
│ ├─PHP教程 3.4.3 PHP可变变量
│ ├─PHP教程 3.4.4 PHP引用变量1
│ ├─PHP教程 3.4.5 PHP引用变量2
│ ├─PHP教程 3.5.1 PHP变量类型的介绍
│ ├─PHP教程 3.5.2 PHP布尔类型(boolean)
│ ├─PHP教程 3.5.3 PHP整型(integer)和浮点型(float或double)
│ ├─PHP教程 3.5.4 PHP字符串的声明及定义
│ ├─PHP教程 3.5.5 PHP字符串中单双引号的区别
│ ├─PHP教程 3.5.6 PHP字符串的定界符声明
│ ├─PHP教程 3.5.7 PHP变量的其它数据类型
│ ├─PHP教程 3.6.1 PHP数据类型转换及强制类型转换
│ ├─PHP教程 3.6.2 PHP数据类型转换之自动类型转换
│ ├─PHP教程 3.7.1 PHP常量的介绍
│ ├─PHP教程 3.7.2 PHP常量的声明和使用
│ ├─PHP教程 3.7.3 预定义常量
│ ├─PHP教程 3.8.1 PHP中的运算符号有哪些
│ ├─PHP教程 3.8.2 PHP算术运算符
│ ├─PHP教程 3.8.3 PHP自加自减运算
│ ├─PHP教程 3.8.4 PHP自加自减运算需要注意的地方
│ ├─PHP教程 3.8.5 PHP赋值运算符
│ ├─PHP教程 3.8.6 PHP比较运算符
│ ├─PHP教程 3.8.7 PHP逻辑运算符
│ ├─PHP教程 3.8.8 PHP逻辑运算符的特性(短路)
│ ├─PHP教程 3.8.9 PHP中的位运算符1
│ ├─PHP教程 3.8.10 PHP中的位运算符2
│ ├─PHP教程 3.8.11 PHP中的位运算符3
│ ├─PHP教程 3.8.12 PHP其他运算符
│ └─PHP教程 3.8.13 PHP运算符的优先级和表达式
├─PHP视频教程 4 PHP的流程控制结构
│ ├─PHP教程 4.1.1 PHP流程控制概述
│ ├─PHP教程 4.1.2 PHP分支结构
│ ├─PHP教程 4.2.1 PHP单一条件分支结构和双向条件分支结构
│ ├─PHP教程 4.2.2 58PHP多向条件分支结构(elseif子句)
│ ├─PHP教程 4.2.3 PHP多向条件分支(switch语句)1
│ ├─PHP教程 4.2.4 PHP多向条件分支(switch语句)2
│ ├─PHP教程 4.2.5 PHP巢状分支结构
│ ├─PHP教程 4.2.6 PHP实例(简单计算器)1
│ ├─PHP教程 4.2.7 PHP实例(简单计算器)2
│ ├─PHP教程 4.2.8 PHP实例(简单计算器)3
│ ├─PHP教程 4.2.9 PHP实例(简单计算器)4
│ ├─PHP教程 4.3.1 PHP循环结构的介绍
│ ├─PHP教程 4.3.2 PHP循环结构while语句
│ ├─PHP教程 4.3.3 PHP循环结构while的应用
│ ├─PHP教程 4.3.4 PHP循环结构do-while语句
│ ├─PHP教程 4.3.5 PHP循环结构for语句
│ ├─PHP教程 4.3.6 PHP循环结构for语句的应用
│ ├─PHP教程 4.3.7 特殊流程控制语句
│ └─PHP教程 4.3.8 PHP流程控制语句goto
├─PHP视频教程 5 PHP的函数应用
│ ├─PHP教程 5.1.1 PHP函数的定义和应用
│ ├─PHP教程 5.2.1 PHP自定义函数的语法格式
│ ├─PHP教程 5.2.2 PHP自定义函数中的参数
│ ├─PHP教程 5.2.3 PHP自定义函数中的返回值(return)
│ ├─PHP教程 5.3.1 PHP局部变量
│ ├─PHP教程 5.3.2 PHP全局变量
│ ├─PHP教程 5.3.3 PHP静态变量
│ ├─PHP教程 5.4.1 PHP常规参数的函数
│ ├─PHP教程 5.4.2 PHP引用参数的函数
│ ├─PHP教程 5.4.3 PHP默认参数的函数
│ ├─PHP教程 5.4.4 PHP可变个数参数的函数
│ ├─PHP教程 5.4.5 PHP变量函数
│ ├─PHP教程 5.4.6 PHP回调函数
│ ├─PHP教程 5.4.7 PHP制作回调函数1
│ ├─PHP教程 5.4.8 PHP制作回调函数2
│ ├─PHP教程 5.4.9 PHP制作回调函数3
│ ├─PHP教程 5.4.10 PHP系统函数
│ ├─PHP教程 5.5.1 PHP递归函数
│ ├─PHP教程 5.6.1 PHP加载自定义的函数库
│ ├─PHP教程 5.7.1 PHP5.3的新特性匿名函数
│ ├─PHP教程 5.8.1 PHP闭包函数(closures)的概念
│ └─PHP教程 5.8.2 PHP闭包函数(closures)的特性
├─PHP视频教程 6 PHP中的数组与数据结构
│ ├─PHP教程 6.1.1 PHP数组的概述
│ ├─PHP教程 6.1.2 PHP数组的基本概念及分类
│ ├─PHP教程 6.2.1 PHP数组声明的特性
│ ├─PHP教程 6.2.2 PHP索引和关联数组及需要注意的细节
│ ├─PHP教程 6.2.3 PHP使用array()声明数组
│ ├─PHP教程 6.2.4 PHP删除数组中的值应用实例(猴子选大王)
│ ├─PHP教程 6.2.5 PHP二维数组
│ ├─PHP教程 6.2.6 PHP多维数组
│ ├─PHP教程 6.3.1 使用for循环遍历数组
│ ├─PHP教程 6.3.2 使用foreach语句遍历数组
│ ├─PHP教程 6.3.3 使用foreach语句遍历数组的应用
│ ├─PHP教程 6.3.4 list()函数的语法结构
│ ├─PHP教程 6.3.5 each()函数的特性
│ ├─PHP教程 6.3.6 使用list( )、each( )和while循环遍历数组
│ ├─PHP教程 6.3.7 使用数组的内部指针控制函数遍历数组
│ ├─PHP教程 6.4.1 PHP超全局数组(预定义变量)概述
│ ├─PHP教程 6.4.2 服务器变量$_SERVER和环境变量$_ENV
│ ├─PHP教程 6.4.3 PHP超全局数组介绍1
│ ├─PHP教程 6.4.4 PHP超全局数组介绍2
│ ├─PHP教程 6.5.1 PHP常用数组函数的分类
│ ├─PHP教程 6.5.2 PHP数组中和键值搜索相关的函数1
│ ├─PHP教程 6.5.3 PHP数组中和键值搜索相关的函数2
│ ├─PHP教程 6.5.4 PHP数组中和键值搜索相关的函数3
│ ├─PHP教程 6.5.5 PHP数组中统计数组元素的个数与唯一性的函数
│ ├─PHP教程 6.5.6 PHP使用回调函数处理数组的函数array_filter()
│ ├─PHP教程 6.5.7 PHP使用回调函数处理数组的函数array_walk()
│ ├─PHP教程 6.5.8 PHP使用回调函数处理数组的函数array_map()
│ ├─PHP教程 6.5.9 PHP中的冒泡(起泡)排序算法
│ ├─PHP教程 6.5.10 PHP二分法进行快速排序的原理
│ ├─PHP教程 6.5.11 使用PHP程序进一步理解快速排序法
│ ├─PHP教程 6.5.12 PHP数组的排序函数1
│ ├─PHP教程 6.5.13 PHP数组的排序函数2
│ ├─PHP教程 6.5.14 PHP数组的排序函数3
│ ├─PHP教程 6.5.15 PHP多维数组的排序函数
│ ├─PHP教程 6.5.16 PHP拆分、合并、分解与结合数组函数1
│ ├─PHP教程 6.5.17 PHP拆分、合并、分解与结合数组函数2
│ ├─PHP教程 6.5.18 PHP数组与数据结构的函数
│ └─PHP教程 6.5.19 PHP其他有用的数组处理函数
─PHP视频教程 7 PHP面向对象的程序设计
├─PHP教程 7.1.1 PHP面向对象之面向过程详解
├─PHP教程 7.1.2 PHP面向对象之面向对象编程思想详解
├─PHP教程 7.1.3 PHP面向对象的重要优势及案例分析
├─PHP教程 7.1.4 PHP类和对象之间的关系
├─PHP教程 7.2.1 PHP如何抽象一个类
├─PHP教程 7.2.2 PHP类中的成员属性和成员方法
├─PHP教程 7.3.1 PHP实例化对象
├─PHP教程 7.3.2 PHP画图理解对象在内存中的形式
├─PHP教程 7.3.3 特殊的对象引用”$this”
├─PHP教程 7.3.4 PHP构造方法
├─PHP教程 7.3.5 PHP析构方法
├─PHP教程 7.4.1 复习前面的面向对象知识
├─PHP教程 7.5.1 PHP面向对象封装性1
├─PHP教程 7.5.2 PHP面向对象封装性2](http://www.jianshu.com/p/2713d9252da4)
├─PHP教程 7.5.3 PHP面向对象封装性之魔术方法1
├─PHP教程 7.5.4 PHP面向对象封装性之魔术方法2
├─PHP教程 7.6.1 PHP类的继承
├─PHP教程 7.6.2 PHP类的访问类型控制
├─PHP教程 7.6.3 PHP继承中的重载(覆盖)
├─PHP教程 7.7.1 PHP常见的关键字
├─PHP教程 7.7.2 static关键字的使用1
├─PHP教程 7.7.3 static关键字的使用2
├─PHP教程 7.7.4 单态(单例、单件)设计模式
├─PHP教程 7.7.5 const关键字
├─PHP教程 7.7.6 魔术方法__toString()
├─PHP教程 7.7.7 魔术方法__clone()
├─PHP教程 7.7.8 魔术方法__call()
├─PHP教程 7.7.9 对象串行化(序列化)1
├─PHP教程 7.7.10 对象串行化(序列化)2
├─PHP教程 7.7.11 PHP数组的串行化(JSON格式)
├─PHP教程 7.7.12 魔术方法__set_state()
├─PHP教程 7.7.13 PHP 5.3以后新增的魔术方法
├─PHP教程 7.7.14 自动加载类__autoload()
├─PHP教程 7.8.1 PHP抽象方法和抽象类1
├─PHP教程 7.8.2 PHP抽象方法和抽象类2
├─PHP教程 7.8.3 PHP面向对象接口技术
├─PHP教程 7.8.4 PHP接口应用的一些细节
├─PHP教程 7.8.5 PHP面象对象的特性多态
├─PHP教程 7.9.1 PHP多态的应用实例
├─PHP教程 7.10.1 PHP图形计算器需求分析
├─PHP教程 7.10.2 PHP图形计算器功能设计
├─PHP教程 7.10.3 PHP图形计算器主程序的实现
├─PHP教程 7.10.4 PHP图形计算器主程序的步骤及代码
├─PHP教程 7.10.5 PHP图形计算器主程序完成检验
├─PHP教程 7.11.1 与类有关的魔术常量和函数
├─PHP教程 7.12.1 PHP命名空间的概述
├─PHP教程 7.12.2 PHP定义子命名空间
├─PHP教程 7.12.3 PHP在同一文件中定义多个命名空间
├─PHP教程 7.12.4 PHP命名空间和动态语言特征
└─PHP教程 7.12.5 PHP使用命名空间:别名导入
├─PHP视频教程 8 PHP字符串处理
│ ├─PHP教程 8.1.1 字符串的处理方式1
│ ├─PHP教程 8.1.2 字符串的处理方式2
│ ├─PHP教程 8.2.1 常用的字符串输出函数1
│ ├─PHP教程 8.2.2 常用的字符串输出函数2
│ ├─PHP教程 8.3.1 去除空格和字符串填补及大小写转换函数
│ ├─PHP教程 8.3.2 和HTML标签相关的字符串格式化函数
│ ├─PHP教程 8.3.3 字符串格式化函数
│ ├─PHP教程 8.4.1 字符串比较函数
│ ├─PHP教程 8.5.1 字符串面试题1
│ ├─PHP教程 8.5.2 字符串面试题2
│ └─PHP教程 8.5.3 字符串面试题3
├─PHP视频教程 9 PHP正则表达式
│ ├─PHP教程 9.1.1 选择PHP正则表达式的处理函数库
│ ├─PHP教程 9.2.1 正则表达式语法介绍1
│ ├─PHP教程 9.2.2 正则表达式语法介绍2
│ ├─PHP教程 9.2.3 正则表达式中的原子1
│ ├─PHP教程 9.2.4 正则表达式中的原子2
│ ├─PHP教程 9.2.5 正则表达式中的元字符1
│ ├─PHP教程 9.2.6 正则表达式中的元字符2
│ ├─PHP教程 9.2.7 正则表达式中元字符中的小括号
│ ├─PHP教程 9.2.8 模式修正符(单个字符)1
│ ├─PHP教程 9.2.9 模式修正符(单个字符)2
│ ├─PHP教程 9.3.1 字符串的匹配与查找之(strstr、strpos、substr)
│ ├─PHP教程 9.3.2 字符串的匹配与查找之(preg_match)
│ ├─PHP教程 9.3.3 字符串的匹配与查找之(preg_match_all与preg_grep)
│ ├─PHP教程 9.3.4 字符串的分割与连接(explode、implode join、preg_split)
│ ├─PHP教程 9.3.5 字符串的替换(str_replace)
│ ├─PHP教程 9.3.6 字符串的替换(preg_replace)1
│ ├─PHP教程 9.3.7 字符串的替换(preg_replace)2
│ ├─PHP教程 9.3.8 字符串中正则的其它函数
│ ├─PHP教程 9.2.10 如何自己编写正则表达式(url)
│ └─PHP教程 9.2.11 编写email正则表达式
├─PHP视频教程 10 PHP的错误和异常处理
│ ├─PHP教程 10.1.1 错误报告及设置级别
│ ├─PHP教程 10.1.2 自定义PHP的错误报告处理方式
│ ├─PHP教程 10.1.3 设置错误日志
│ ├─PHP教程 10.2.1 PHP异常处理1
│ ├─PHP教程 10.2.2 PHP异常处理2
│ ├─PHP教程 10.2.3 自定义异常类
│ └─PHP教程 10.2.4 捕获多个异常
├─PHP视频教程 11 PHP日期时间
│ ├─PHP教程 11.1.1 PHP中应用日期和时间1
│ ├─PHP教程 11.1.2 PHP中应用日期和时间2
│ └─PHP教程 11.1.3 PHP日历核心程序编写
├─PHP视频教程 12 PHP文件系统处理
│ ├─PHP教程 12.1.1 文件系统概述
│ ├─PHP教程 12.1.2 文件的属性
│ ├─PHP教程 12.2.1 解析目录路径
│ ├─PHP教程 12.2.2 遍历目录
│ ├─PHP教程 12.2.3 统计目录中的个数和大小
│ ├─PHP教程 12.2.4 建立与删除目录
│ ├─PHP教程 12.2.5 复制、移动目录
│ ├─PHP教程 12.3.1 文件的一些基本操作函数
│ ├─PHP教程 12.3.2 文件的打开与关闭
│ ├─PHP教程 12.3.3 文件的内容操作
│ ├─PHP教程 12.3.4 简单留言版
│ ├─PHP教程 12.3.5 文件的锁定机制
│ ├─PHP教程 12.4.1 文件上传的设置
│ ├─PHP教程 12.4.2 文件上传的处理
│ ├─PHP教程 12.4.3 处理多个文件上传
│ ├─PHP教程 12.4.4 文件上传类
│ └─PHP教程 12.4.5 文件下载
─PHP视频教程 13 GD库
│ ├─PHP教程 13.1.1 PHP中GD库的使用
│ ├─PHP教程 13.1.2 使用GD库画图
│ ├─PHP教程 13.1.3 绘制各种图形
│ ├─PHP教程 13.1.4 画时钟
│ ├─PHP教程 13.2.1 设计验证码类
│ ├─PHP教程 13.2.2 验证码类的编写1
│ ├─PHP教程 13.2.3 验证码类的编写2
│ ├─PHP教程 13.2.4 验证码类完善
│ ├─PHP教程 13.3.1 图片背景管理
│ ├─PHP教程 13.3.2 图片的缩放和剪切
│ ├─PHP教程 13.3.3 添加图片水印
│ ├─PHP教程 13.3.4 图片的旋转和翻转
│ └─PHP教程 13.3.5 图像处理类
├─PHP视频教程 14 数据库
│ ├─PHP教程 14.1.1 复习数据库
│ ├─PHP教程 14.1.2 phpMyAdmin的使用
│ ├─PHP教程 14.1.3 php访问MySQL
│ ├─PHP教程 14.1.4 在PHP脚本中操作MySQL数据库1
│ ├─PHP教程 14.1.5 在PHP脚本中操作MySQL数据库2
│ ├─PHP教程 14.1.6 在PHP脚本中操作MySQL数据库3
│ ├─PHP教程 14.1.7 在PHP脚本中操作MySQL数据库4
│ ├─PHP教程 14.2.1 分页需求分析
│ ├─PHP教程 14.2.2 分页类中分页的编写
│ ├─PHP教程 14.2.3 分页类中列表页的编写
│ ├─PHP教程 14.2.4 分页类的优化
│ ├─PHP教程 14.2.5 《细说PHP》分页类的使用
│ ├─PHP教程 14.3.1 图书管理需求分析
│ ├─PHP教程 14.3.2 添加图书
│ ├─PHP教程 14.3.3 图书列表
│ ├─PHP教程 14.3.4 修改图书
│ ├─PHP教程 14.3.5 删除图书
│ ├─PHP教程 14.3.6 上传图书封面
│ ├─PHP教程 14.3.7 修改图书封面
│ ├─PHP教程 14.3.8 图书列表分页
│ └─PHP教程 14.3.9 多搜索加分页
├─PHP视频教程 15 PDO
│ ├─PHP教程 15.1.1 数据库抽象层PDO
│ ├─PHP教程 15.1.2 创建PDO对象
│ ├─PHP教程 15.1.3 PDO与连接有关的选项
│ ├─PHP教程 15.1.4 PDO的错误处理模式
│ ├─PHP教程 15.1.5 使用PDO执行SQL语句
│ ├─PHP教程 15.1.6 PDO事务处理
│ ├─PHP教程 15.2.1 PDO对预处理语句的支持
│ ├─PHP教程 15.2.2 使用PDO准备语句并执行语句1
│ ├─PHP教程 15.2.3 使用PDO准备语句并执行语句2
│ ├─PHP教程 15.2.4 PDO的预处理查询1
│ ├─PHP教程 15.2.5 PDO的预处理查询2
│ └─PHP教程 15.2.6 用PDO存取大数据对象
├─PHP视频教程 16 memcache管理与应用
│ ├─PHP教程 16.1.1 memcache应用说明
│ ├─PHP教程 16.1.2 memcache工作原理
│ ├─PHP教程 16.1.3 memcache的安装
│ ├─PHP教程 16.1.4 Memcache的常用命令操作
│ ├─PHP教程 16.1.5 php的memcache功能扩展模块安装
│ ├─PHP教程 16.1.6 PHP中操作memcache
│ ├─PHP教程 16.1.7 在PHP中设置分布式memcache存取1
│ └─PHP教程 16.1.8 在PHP中设置分布式memcache存取2
─PHP视频教程 17 PHP会话控制
├─PHP教程 17.1.1 http协议和web本质1
├─PHP教程 17.1.2 http协议和web本质2
├─PHP教程 17.1.3 http协议和web本质3
├─PHP教程 17.2.1 会话控制概述
├─PHP教程 17.3.1 会话控制之Cookie概述
├─PHP教程 17.3.2 Cookie的操作
├─PHP教程 17.3.3 Cookie的应用1
├─PHP教程 17.3.4 Cookie的应用2
├─PHP教程 17.4.1 会话控制session的工作机制
├─PHP教程 17.4.2 session的应用
├─PHP教程 17.4.3 session的配置选项
├─PHP教程 17.4.4 sessoion自动垃圾回收机制
├─PHP教程 17.4.5 基于url传递session的id
├─PHP教程 17.4.6 邮件系统实例1
├─PHP教程 17.4.7 邮件系统实例2
├─PHP教程 17.5.1 自定义session的存储机制
├─PHP教程 17.5.2 如何自定义session的处理方式1
├─PHP教程 17.5.3 如何自定义session的处理方式2
├─PHP教程 17.5.4 自定义session类
├─PHP教程 17.5.5 使用数据库来存储session信息1
├─PHP教程 17.5.6 使用数据库来存储session信息2
├─PHP教程 17.5.7 使用数据库来存储session信息3
└─PHP教程 17.5.8 使用memcache来存储session
PHP视频教程 18 PHP的模板引擎Smarty
├─PHP教程 18.1.1 什么是模板引擎
├─PHP教程 18.2.1 自定义模板引擎类1
├─PHP教程 18.2.2 自定义模板引擎类2
├─PHP教程 18.2.3 使用自定义的模板引擎
├─PHP教程 18.3.1 选择Smarty模板引擎
├─PHP教程 18.3.2 Smarty的安装初使化示例1
├─PHP教程 18.3.3 Smarty的安装初使化示例2
├─PHP教程 18.3.4 需要学习Smarty的哪儿些内容
├─PHP教程 18.4.1 模板中的变量应用
├─PHP教程 18.4.2 从配置文件读取变量
├─PHP教程 18.4.3 在模板中使用保留变量
├─PHP教程 18.5.1 变量调节(修改)器
├─PHP教程 18.5.2 变量调节(修改)器和应用
├─PHP教程 18.5.3 使用registerPlugin来注册变量调节器
├─PHP教程 18.5.4 使用插件来注册变量调节器
├─PHP教程 18.5.5 smarty中的函数
├─PHP教程 18.5.6 smarty中的内置函数
├─PHP教程 18.6.1 smarty中自定义函数
├─PHP教程 18.6.2 smarty中自定义函数插件实例
├─PHP教程 18.7.1 smarty中内置函数的使用
├─PHP教程 18.7.2 smarty变量声明
├─PHP教程 18.7.3 smarty流程控制
├─PHP教程 18.7.4 smarty中for、while循环
├─PHP教程 18.7.5 smarty中{function}标签
├─PHP教程 18.7.6 smarty2中的foreach
├─PHP教程 18.7.7 smarty3中的foreach
├─PHP教程 18.7.8 smarty中的section
├─PHP教程 18.8.1 smarty模板继承
├─PHP教程 18.9.1 页面静态化加分页原理
└─PHP教程 18.9.2 在smarty中控制缓存
9. 说一下PHP中die()和exit()区别
1、用法习惯不同,当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。
2、名字不同,其实PHP手册已经说过“die — Equivalent to exit().This language construct is equivalent to exit(). ”两者只是别名关系,除此之外完全一样。
3、源码的处理方式不同,无论是别名函数还是别名语言结构,从实际效果角度讲,都是一样的,但是源码的处理方式还是有一定的差异。
(9)phpthis别名扩展阅读:
die()和exit()差异实例:
zend_language_parser.c中,定义了一个宏
#define T_EXIT 300
还定义了一个enum,里面也有
enum yytokentype {
…
T_EXIT = 300,
….
}
这里告诉我们,T_EXIT这个token,它的code是300。
再看zend_language_scanner.l,其中有这么几行代码。
<ST_IN_SCRIPTING>”exit” {
return T_EXIT;
}
<ST_IN_SCRIPTING>”die” {
return T_EXIT;
}
很明显,php做词法分析时,无论遇到exit还是die,都会返回T_EXIT这个token。从这里酒可以证明,die和exit,再php内部处理是完全一样的。
也可以用下列php代码来确定:
<?php
var_mp(token_get_all(“<?php die;exit;?>”));
返回的结果中die和exit对应的token code,都是300。
PHP exit() 函数-w3school
PHP die() 函数-w3school
10. PHP怎么导出WORD
$this->assign(别名', $this->model->getall($id));
ob_start();
//设置为一个下载类型
header("Content-type:application/octet-steam");
//可以请求网页实体的一个或者多个子范围字段
header("Accept-Ranges:bytes");
//将查询结果导出到word
header("Content-type:application/vnd.ms-excel");
//把请求所得的内容存为一个文件的时候提供一个默认的文件名
header("Content-Disposition:filename=名称-" . date("YmdHis") . ".doc");
//清除缓冲区内容
ob_end_flush();
$this->display('路由页面');