继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

PHP 学习知识汇总,不断更新中!!

这个名字没人起
关注TA
已关注
手记 271
粉丝 19
获赞 92

这是自己在cnblog上写的博客。原文:http://www.cnblogs.com/mr-Lai/p/php_beginner.html

自己在学习PHP知识,然后又很多的知识点有待加强,故开此博客分享经验!

其中标有“?”的地方是本人不清楚的地方,还请大家积极帮助博主,被回答的问题将会用“!” 标出,(如果是搜索的话有可能是英文的?!,也有可能是中文的?!哦)博主也会尽自己所能回答大家的问题!!


31.?php中在没有构建自己的魔术函数__construct时会不会直接继承父类的__construct()函数30.self this 和parent的区别和联系     this 是目前实例的引用,也就是说,只有实例才能使用这个变量     self与parent是一个类型的概念,一个是调用类本身,一个是调用父类的方法。     一个例子,如果几个子类都需要使用父类的某个资源,这种资源又可以分为动态的和静态的。静态的诸如一个静态常量(static 量能够变化吗??

static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心保护。类的静态变量,非常类似全局变量,能够被所有类的实例共享,类的静态方法也是一样的,类似于全局函数。另外说明的是,static的成员,必须使用self来访问,使用this会出错。

   )     动态的诸如一个数据库连接。29.preg_replace — 执行一个正则表达式的搜索和替换   http://php.net/manual/zh/function.preg-replace.php28.

PHP String 函数

PHP:指示支持该函数的最早的 PHP 版本。

函数描述PHP
addcslashes()在指定的字符前添加反斜杠。4
addslashes()在指定的预定义字符前添加反斜杠。3
bin2hex()把 ASCII 字符的字符串转换为十六进制值。3
chop()rtrim() 的别名。3
chr()从指定的 ASCII 值返回字符。3
chunk_split()把字符串分割为一连串更小的部分。3
convert_cyr_string()把字符由一种 Cyrillic 字符转换成另一种。3
convert_uudecode()对 uuencode 编码的字符串进行解码。5
convert_uuencode()使用 uuencode 算法对字符串进行编码。5
count_chars()返回字符串所用字符的信息。4
crc32()计算一个字符串的 32-bit CRC。4
crypt()单向的字符串加密法 (hashing)。3
echo()输出字符串。3
explode()把字符串打散为数组。3
fprintf()把格式化的字符串写到指定的输出流。5
get_html_translation_table()返回翻译表。4
hebrev()把希伯来文本从右至左的流转换为左至右的流。3
hebrevc()同上,同时把(\n) 转为 <br />。3
html_entity_decode()把 HTML 实体转换为字符。4
htmlentities()把字符转换为 HTML 实体。3
htmlspecialchars_decode()把一些预定义的 HTML 实体转换为字符。5
htmlspecialchars()把一些预定义的字符转换为 HTML 实体。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
ord()返回字符串第一个字符的 ASCII 值。3
parse_str()把查询字符串解析到变量中。3
print()输出一个或多个字符串。3
printf()输出格式化的字符串。3
quoted_printable_decode()解码 quoted-printable 字符串。3
quotemeta()在字符串中某些预定义的字符前添加反斜杠。3
rtrim()从字符串的末端开始删除空白字符或其他预定义字符。3
setlocale()设置地区信息(地域信息)。3
sha1()计算字符串的 SHA-1 散列。4
sha1_file()计算文件的 SHA-1 散列。4
similar_text()计算两个字符串的匹配字符的数目。3
soundex()计算字符串的 soundex 键。3
sprintf()把格式化的字符串写写入一个变量中。3
sscanf()根据指定的格式解析来自一个字符串的输入。4
str_ireplace()替换字符串中的一些字符。(对大小写不敏感)5
str_pad()把字符串填充为新的长度。4
str_repeat()把字符串重复指定的次数。4
str_replace()替换字符串中的一些字符。(对大小写敏感)3
str_rot13()对字符串执行 ROT13 编码。4
str_shuffle()随机地打乱字符串中的所有字符。4
str_split()把字符串分割到数组中。5
str_word_count()计算字符串中的单词数。4
strcasecmp()比较两个字符串。(对大小写不敏感)3
strchr()搜索字符串在另一字符串中的第一次出现。strstr() 的别名3
strcmp()比较两个字符串。(对大小写敏感)3
strcoll()比较两个字符串(根据本地设置)。4
strcspn()返回在找到任何指定的字符之前,在字符串查找的字符数。3
strip_tags()剥去 HTML、XML 以及 PHP 的标签。3
stripcslashes()删除由 addcslashes() 函数添加的反斜杠。4
stripslashes()删除由 addslashes() 函数添加的反斜杠。3
stripos()返回字符串在另一字符串中第一次出现的位置(大小写不敏感)5
stristr()查找字符串在另一字符串中第一次出现的位置(大小写不敏感)3
strlen()返回字符串的长度。3
strnatcasecmp()使用一种“自然”算法来比较两个字符串(对大小写不敏感)4
strnatcmp()使用一种“自然”算法来比较两个字符串(对大小写敏感)4
strncasecmp()前 n 个字符的字符串比较(对大小写不敏感)。4
strncmp()前 n 个字符的字符串比较(对大小写敏感)。4
strpbrk()在字符串中搜索指定字符中的任意一个。5
strpos()返回字符串在另一字符串中首次出现的位置(对大小写敏感)3
strrchr()查找字符串在另一个字符串中最后一次出现的位置。3
strrev()反转字符串。3
strripos()查找字符串在另一字符串中最后出现的位置(对大小写不敏感)5
strrpos()查找字符串在另一字符串中最后出现的位置(对大小写敏感)3
strspn()返回在字符串中包含的特定字符的数目。3
strstr()搜索字符串在另一字符串中的首次出现(对大小写敏感)3
strtok()把字符串分割为更小的字符串。3
strtolower()把字符串转换为小写。3
strtoupper()把字符串转换为大写。3
strtr()转换字符串中特定的字符。3
substr()返回字符串的一部分。3
substr_compare()从指定的开始长度比较两个字符串。5
substr_count()计算子串在字符串中出现的次数。4
substr_replace()把字符串的一部分替换为另一个字符串。4
trim()从字符串的两端删除空白字符和其他预定义字符。3
ucfirst()把字符串中的首字符转换为大写。3
ucwords()把字符串中每个单词的首字符转换为大写。3
vfprintf()把格式化的字符串写到指定的输出流。5
vprintf()输出格式化的字符串。4
vsprintf()把格式化字符串写入变量中。4
wordwrap()按照指定长度对字符串进行折行处理。4

PHP String 常量

PHP:指示支持该常量的最早的 PHP 版本。

常量描述PHP
CRYPT_SALT_LENGTH包含系统默认加密方法的长度。对于标准 DES 加密,长度是 2。
CRYPT_STD_DES如果支持 2 字符 salt 的 DES 加密,则设置为 1,否则为 0。
CRYPT_EXT_DES如果支持 9 字符 salt 的 DES 加密,则设置为 1,否则为 0。
CRYPT_MD5如果支持以$1$开始的 12 字符 salt 的MD5加密,则设置为1,否则为0。
CRYPT_BLOWFISH如果支持以 $2$ 或 $2a$ 开始的 16 字符 salt 的 Blowfish 加密,则设置为 1,否则为 0。
HTML_SPECIALCHARS

HTML_ENTITIES

ENT_COMPAT

ENT_QUOTES

ENT_NOQUOTES

CHAR_MAX

LC_CTYPE

LC_NUMERIC

LC_TIME

LC_COLLATE

LC_MONETARY

LC_ALL

LC_MESSAGES

STR_PAD_LEFT

STR_PAD_RIGHT

STR_PAD_BOTH

27.array_keys() 函数返回包含数组中所有键名的一个新数组。compact extract implode?26.As Artefacto points out in the comments,$a =& $bisnotthe same as$a = (&$b).This is because while the & operator means make a reference out of something, the = operator does assign-by-value, so the expression $a = (&$b) means make a temporary reference to $b, then assign the value of that temporary to $a, which is not assign-by-reference.25.?用php实现css <script async ...>24.Notes on reference:A reference is not a pointer. However, an object handle IS a pointer. Example:
<?php
class Foo {
 private static $used;
 private $id;
 public function __construct() {
$id = $used++;
 }
 public function __clone() {
$id = $used++;
 }
}

$a = new Foo; // $a is a pointer pointing to Foo object 0
$b = $a; // $b is a pointer pointing to Foo object 0, however, $b is a copy of $a
$c = &$a; // $c and $a are now references of a pointer pointing to Foo object 0
$a = new Foo; // $a and $c are now references of a pointer pointing to Foo object 1, $b is still a pointer pointing to Foo object 0
unset($a); // A reference with reference count 1 is automatically converted back to a value. Now $c is a pointer to Foo object 1
$a = &$b; // $a and $b are now references of a pointer pointing to Foo object 0
$a = NULL; // $a and $b now become a reference to NULL. Foo object 0 can be garbage collected now
unset($b); // $b no longer exists and $a is now NULL
$a = clone $c; // $a is now a pointer to Foo object 2, $c remains a pointer to Foo object 1
unset($c); // Foo object 1 can be garbage collected now.
$c = $a; // $c and $a are pointers pointing to Foo object 2
unset($a); // Foo object 2 is still pointed by $c
$a = &$c; // Foo object 2 has 1 pointers pointing to it only, that pointer has 2 references: $a and $c;
const ABC = TRUE;
if(ABC) {
$a = NULL; // Foo object 2 can be garbage collected now because $a and $c are now a reference to the same NULL value
} else {
 unset($a); // Foo object 2 is still pointed to $c
}23.标志符identifier    引用references  A PHP reference is an alias,22.后期静态绑定21.类型约束20.PHP 5 中的对象比较要比 PHP 4 中复杂,所期望的结果更符合一个面向对象语言。

当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。

而如果使用全等运算符(===),这两个对象变量一定要指向某个类的同一个实例(即同一个对象)。19.对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的__clone()方法)。对象中的__clone()方法不能被直接调用。$copy_of_object = clone $object;18.PHP 5 提供了一种定义对象的方法使其可以通过单元列表来遍历,例如用 foreach 语句。默认情况下,所有可见属性都将被用于遍历。
17.PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法。我们是通过魔术方法(magic methods)来实现的。16.PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。15.声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。14.本页说明了用 static 关键字来定义静态方法和属性。static 也可用于定义静态变量以及后期静态绑定。参见上述页面了解 static 在其中的用法。13.对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。12.自动加载对象11.可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用$符号。10.类的变量成员叫做“属性”,或者叫“字段”、“特征”9.PHP不支持多重继承,一个类只能继承一个基类。8.类->对象->实例  引用7.当一个方法在类定义内部被调用时,有一个可用的伪变量$this$this是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象静态调用时也可能是另一个对象)。6.http://www.php.net/manual/zh/reserved.php保留字5.PHP 5 中的新特性包括访问控制,抽象类和 final 类与方法,附加的魔术方法,接口,对象复制和类型约束。4.用户可能注意到了以下的代码功能完全相同:<?php$arr = array("one", "two", "three");
reset($arr);
while (list(, $value) = each($arr)) {
   echo "Value: $value<br>\n";
}

foreach ($arr as $value) {
   echo "Value: $value<br />\n";
}
?>3.语言结构2.这样写“$b= ($a= 5)”和这样写“$a= 5;$b= 5”(分号标志着语句的结束)是一样的“($a= 5)”的值为51.常量和变量有如下不同:http://www.php.net/manual/zh/language.constants.syntax.php

  • 常量前面没有美元符号($);

  • 常量只能用 define() 函数定义,而不能通过赋值语句;

  • 常量可以不用理会变量的作用域而在任何地方定义和访问;

  • 常量一旦定义就不能被重新定义或者取消定义;

  • 常量的值只能是标量。

  • Example #1 定义常量

  • <?php

  • define("CONSTANT", "Hello world.");
    echo CONSTANT; // outputs "Hello world."
    echo Constant; // 输出 "Constant" 并发出一个提示级别错误信息
    ?>
    Example #2 使用关键字 const 定义常量<?php
    // 以下代码在 PHP 5.3.0 后可以正常工作
    const CONSTANT = 'Hello World';

    echo CONSTANT;
    ?>

    Note:

    和使用 define() 来定义常量相反的是,使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP