标签:ascii rip 数组 oba enter hash 循环 取反 操作
综述
学习网址 菜鸟教程-PHP
所有学习内容皆来自以上网站。
基础
语法
PHP 脚本以 结束;
PHP 文件的默认文件扩展名是 ".php"。
变量/常量
变量
PHP 变量规则:
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
PHP 有四种不同的变量作用域:
- local
- global:global 关键字用于函数内访问全局变量。
- static:当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,请在您第一次声明变量时使用 static 关键字。然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
注释:该变量仍然是函数的局部变量。
- parameter
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
测试函数内变量:";
echo "变量 x 为: $x";
echo "
";
echo "变量 y 为: $y";
}
myTest();
echo "
测试函数外变量:
";
echo "变量 x 为: $x";
echo "
";
echo "变量 y 为: $y";
?>
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
常量
常量定义:常量是一个简单值的标识符。常量值被定义后,在脚本的其他任何地方都不能被改变。
常量命名:一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。
设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 https://www.cnblogs.com/gail-hu/p/12389475.html":
';
echo greeting; // 输出 "greeting"
?>
以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 https://www.cnblogs.com/gail-hu/p/12389475.html":
常量是全局的
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。
数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:
字符串
函数名 |
函数说明 |
addcslashes() |
返回在指定的字符前添加反斜杠的字符串。 |
addslashes() |
返回在预定义的字符前添加反斜杠的字符串。 |
bin2hex() |
把 ASCII 字符的字符串转换为十六进制值。 |
chop() |
移除字符串右侧的空白字符或其他字符。 |
chr() |
从指定 ASCII 值返回字符。 |
chunk_split() |
把字符串分割为一连串更小的部分。 |
convert_cyr_string() |
把字符串由一种 Cyrillic 字符集转换成另一种。 |
convert_uudecode() |
对 uuencode 编码的字符串进行解码。 |
convert_uuencode() |
使用 uuencode 算法对字符串进行编码。 |
count_chars() |
返回字符串所用字符的信息。 |
crc32() |
计算一个字符串的 32 位 CRC(循环冗余校验)。 |
crypt() |
单向的字符串加密法(hashing)。 |
echo() |
输出一个或多个字符串。 |
explode() |
把字符串打散为数组。 |
fprintf() |
把格式化的字符串写入到指定的输出流。 |
get_html_translation_table() |
返回 htmlspecialchars() 和 htmlentities() 使用的翻译表。 |
hebrev() |
把希伯来(Hebrew)文本转换为可见文本。 |
hebrevc() |
把希伯来(Hebrew)文本转换为可见文本,并把新行(\n)转换为 (br标签)。 |
hex2bin() |
把十六进制值的字符串转换为 ASCII 字符。 |
html_entity_decode() |
把 HTML 实体转换为字符。 |
htmlentities() |
把字符转换为 HTML 实体。 |
htmlspecialchars_decode() |
把一些预定义的 HTML 实体转换为字符。 |
htmlspecialchars() |
把一些预定义的字符转换为 HTML 实体。 |
implode() |
返回一个由数组元素组合成的字符串。 |
join() |
implode() 的别名。 |
lcfirst() |
把字符串中的首字符转换为小写。 |
levenshtein() |
返回两个字符串之间的 Levenshtein 距离。 |
localeconv() |
返回本地数字及货币格式信息。 |
ltrim() |
移除字符串左侧的空白字符或其他字符。 |
md5() |
计算字符串的 MD5 散列。 |
md5_file() |
计算文件的 MD5 散列。 |
metaphone() |
计算字符串的 metaphone 键。 |
money_format() |
返回格式化为货币字符串的字符串。 |
nl_langinfo() |
返回指定的本地信息。 |
nl2br() |
在字符串中的每个新行之前插入 HTML 换行符。 |
number_format() |
通过千位分组来格式化数字。 |
ord() |
返回字符串中第一个字符的 ASCII 值。 |
parse_str() |
把查询字符串解析到变量中。 |
print() |
输出一个或多个字符串。 |
printf() |
输出格式化的字符串。 |
quoted_printable_decode() |
把 quoted-printable 字符串转换为 8 位字符串。 |
quoted_printable_encode() |
把 8 位字符串转换为 quoted-printable 字符串。 |
quotemeta() |
引用元字符。 |
rtrim() |
移除字符串右侧的空白字符或其他字符。 |
setlocale() |
设置地区信息(地域信息)。 |
sha1() |
计算字符串的 SHA-1 散列。 |
sha1_file() |
计算文件的 SHA-1 散列。 |
similar_text() |
计算两个字符串的相似度。 |
soundex() |
计算字符串的 soundex 键。 |
sprintf() |
把格式化的字符串写入一个变量中。 |
sscanf() |
根据指定的格式解析来自一个字符串的输入。 |
str_getcsv() |
把 CSV 字符串解析到数组中。 |
str_ireplace() |
替换字符串中的一些字符(大小写不敏感)。 |
str_pad() |
把字符串填充为新的长度。 |
str_repeat() |
把字符串重复指定的次数。 |
str_replace() |
替换字符串中的一些字符(大小写敏感)。 |
str_rot13() |
对字符串执行 ROT13 编码。 |
str_shuffle() |
随机地打乱字符串中的所有字符。 |
str_split() |
把字符串分割到数组中。 |
str_word_count() |
计算字符串中的单词数。 |
strcasecmp() |
比较两个字符串(大小写不敏感)。 |
strchr() |
查找字符串在另一字符串中的第一次出现。(strstr() 的别名。) |
strcmp() |
比较两个字符串(大小写敏感)。 |
strcoll() |
比较两个字符串(根据本地设置)。 |
strcspn() |
返回在找到任何指定的字符之前,在字符串查找的字符数。 |
strip_tags() |
剥去字符串中的 HTML 和 PHP 标签。 |
stripcslashes() |
删除由 addcslashes() 函数添加的反斜杠。 |
stripslashes() |
删除由 addslashes() 函数添加的反斜杠。 |
stripos() |
返回字符串在另一字符串中第一次出现的位置(大小写不敏感)。 |
stristr() |
查找字符串在另一字符串中第一次出现的位置(大小写不敏感)。 |
strlen() |
返回字符串的长度。 |
strnatcasecmp() |
使用一种"自然排序"算法来比较两个字符串(大小写不敏感)。 |
strnatcmp() |
使用一种"自然排序"算法来比较两个字符串(大小写敏感)。 |
strncasecmp() |
前 n 个字符的字符串比较(大小写不敏感)。 |
strncmp() |
前 n 个字符的字符串比较(大小写敏感)。 |
strpbrk() |
在字符串中搜索指定字符中的任意一个。 |
strpos() |
返回字符串在另一字符串中第一次出现的位置(大小写敏感)。 |
strrchr() |
查找字符串在另一个字符串中最后一次出现。 |
strrev() |
反转字符串。 |
strripos() |
查找字符串在另一字符串中最后一次出现的位置(大小写不敏感)。 |
strrpos() |
查找字符串在另一字符串中最后一次出现的位置(大小写敏感)。 |
strspn() |
返回在字符串中包含的特定字符的数目。 |
strstr() |
查找字符串在另一字符串中的第一次出现(大小写敏感)。 |
strtok() |
把字符串分割为更小的字符串。 |
strtolower() |
把字符串转换为小写字母。 |
strtoupper() |
把字符串转换为大写字母。 |
strtr() |
转换字符串中特定的字符。 |
substr() |
返回字符串的一部分。 |
mb_substr() |
返回中文字符串的一部分。 |
substr_compare() |
从指定的开始位置(二进制安全和选择性区分大小写)比较两个字符串。 |
substr_count() |
计算子串在字符串中出现的次数。 |
substr_replace() |
把字符串的一部分替换为另一个字符串。 |
trim() |
移除字符串两侧的空白字符和其他字符。 |
ucfirst() |
把字符串中的首字符转换为大写。 |
ucwords() |
把字符串中每个单词的首字符转换为大写。 |
vfprintf() |
把格式化的字符串写到指定的输出流。 |
vprintf() |
输出格式化的字符串。 |
vsprintf() |
把格式化字符串写入变量中。 |
wordwrap() |
按照指定长度对字符串进行折行处理。 |
运算符
PHP 算术运算符
运算符 |
名称 |
描述 |
实例 |
结果 |
x + y |
加 |
x和y的和 |
2 + 2 |
4 |
x - y |
减 |
x和y的差 |
5 - 2 |
3 |
x * y |
乘 |
x和y的积 |
5 * 2 |
10 |
x / y |
除 |
x和y的商 |
15/5 |
3 |
x % y |
模 |
x除以y的余数 |
5%2 |
3 |
-x |
取反 |
取反 |
-3 |
-3 |
PHP7+ 版本新增整除运算符 intdiv(),使用实例:
以上实例会输出:
int(3)
PHP 赋值运算符
在 PHP 中,基本的赋值运算符是 "="。它意味着左操作数被设置为右侧表达式的值。也就是说,"$x = 5" 的值是 5。
运算符 |
等同于 |
描述 |
x = y |
x = y |
左操作数被设置为右侧表达式的值 |
x += y |
x = x + y |
加 |
x -= y |
x = x - y |
减 |
x *= y |
x = x * y |
乘 |
x /= y |
x = x / y |
除 |
x %= y |
x = x % y |
模(除法的余数) |
a .= b |
a = a . b |
连接两个字 |
PHP 递增/递减运算符
运算符 |
名称 |
描述 |
++ x |
预递增 |
x 加 1,然后返回 x |
x ++ |
后递增 |
返回 x,然后 x 加 1 |
-- x |
预递减 |
x 减 1,然后返回 x |
x -- |
后递减 |
返回 x,然后 x 减 1 |
PHP 比较运算符
比较操作符可以让您比较两个值:
运算符 |
名称 |
描述 |
实例 |
x == y |
等于 |
如果 x 等于 y,则返回 true |
5==8 返回 false |
x === y |
绝对等于 |
如果 x 等于 y,且它们类型相同,则返回 true |
5==="5" 返回 false |
x != y |
不等于 |
如果 x 不等于 y,则返回 true |
5!=8 返回 true |
x y |
不等于 |
如果 x 不等于 y,则返回 true |
58 返回 true |
x !== y |
绝对不等于 |
如果 x 不等于 y,或它们类型不相同,则返回 true |
5!=="5" 返回 true |
x > y |
大于 |
如果 x 大于 y,则返回 true |
5>8 返回 false |
x
|
小于 |
如果 x 小于 y,则返回 true |
5
|
x >= y |
大于等于 |
如果 x 大于或者等于 y,则返回 true |
5>=8 返回 false |
x
|
小于等于 |
如果 x 小于或者等于 y,则返回 true |
5
|
PHP 逻辑运算符
逻辑运算符 |
名称 |
and |
和 |
or |
或 |
xor |
异或 |
&& |
短路与 |
ll |
短路或 |
! |
非 |
PHP 数组运算符
运算符 |
名称 |
描述 |
x + y |
集合 |
x 和 y 的集合 |
x == y |
相等 |
如果 x 和 y 具有相同的键/值对,则返回 true |
x === y |
恒等 |
如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true |
x != y |
不相等 |
如果 x 不等于 y,则返回 true |
x y |
不相等 |
如果 x 不等于 y,则返回 true |
x !== y |
不恒等 |
如果 x 不等于 y,则返回 true |
三元运算符
另一个条件运算符是"?:"(或三元)运算符 。
语法格式
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
注意:PHP_EOL 是一个换行符,兼容更大平台。
在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:
组合比较符(PHP7+)
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
语法格式如下:
$c = $a $b;
解析如下:
如果 $a > $b, 则 $c 的值为 1。
如果 $a == $b, 则 $c 的值为 0。
如果 $a 1; // 0
echo 1 2; // -1
echo 2 1; // 1
// 浮点型
echo 1.5 1.5; // 0
echo 1.5 2.5; // -1
echo 2.5 1.5; // 1
// 字符串
echo "a" "a"; // 0
echo "a" "b"; // -1
echo "b" "a"; // 1
?>
运算符优先级
下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
说明:左 = 从左到右,右 = 从右到左。
结合方向 |
运算符 |
附加信息 |
无 |
clone new |
clone 和 new |
左 |
[ |
array() |
右 |
++ -- ~ (int) (float) (string) (array) (object) (bool) @ |
类型和递增/递减 |
无 |
instanceof |
类型 |
右 |
! |
逻辑运算符 |
左 |
* / % |
算术运算符 |
左 |
+ – . |
算术运算符和字符串运算符 |
左 |
> |
位运算符 |
无 |
== != === !== |
比较运算符 |
左 |
& |
位运算符和引用 |
左 |
^ |
位运算符 |
左 |
l |
位运算符 |
左 |
&& |
逻辑运算符 |
左 |
ll |
逻辑运算符 |
左 |
? : |
三元运算符 |
右 |
= += -= *= /= .= %= &= |
= ^= >= => |
左 |
and |
逻辑运算符 |
左 |
xor |
逻辑运算符 |
左 |
or |
逻辑运算符 |
左 |
, |
多处用到 |
运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。
括号的使用
我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。
02-php基础知识
标签:ascii rip 数组 oba enter hash 循环 取反 操作
原文地址:https://www.cnblogs.com/gail-hu/p/12389475.html