一些php基础知识点
2016-12-08 09:30
281 查看
一、PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
二、PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
上面的例子可以这样重写:
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
三、php中echo和print的区别
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回1
提示:echo比print快,因为他不返回任何值
下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
四、整数的格式
整数规则:
整数必须有至少一个数字(0-9)
整数不能包含逗号或空格
整数不能有小数点
整数正负均可
可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:
五、php字符串操作函数
1、strlen()函数返回字符串长度
echo strlen("Hello world!");
?>
以上代码的输出是:12
2、PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
下例检索字符串 "Hello world!" 中的文本 "world":
以上代码的输出是:6。
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
六、php常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
七、运算符
1、算数运算符
2、赋值运算符
3、字符串运算符
4、递增/递减运算符
5、比较运算符
6、逻辑运算符
7、数组运算符
$t=date("H");这段会获取当前的小时数
八、switch语句
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
九、循环
while循环、do...while循环、for循环(这三个循环都和C++差不多)
foreach循环:
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
运行结果:
red
green
blue
yellow
十、函数默认参数
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
运行结果:
高度是:350
高度是:50
高度是:135
高度是:80
十一、数组
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
数组在单个变量中存储多个值:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
运行结果:
I like Volvo, BMW and SAAB.
array()用于创建数组
count() 函数用于返回数组的长度(元素数)
有两种创建关联数组的方法:
或者:
随后可以在脚本中使用指定键:
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
运行结果:
Key=Bill, Value=35
Key=Steve, Value=37
Key=Peter, Value=43
数组的排序函数:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
十二:一些常用函数
is_dir()函数:判断参数是不是一个目录,若是则返回true
dirname() 函数:返回路径中的目录部分,会去除路径中的文件名部分
opendir() 函数:打开目录句柄
readdir($path)函数:返回目录中的下一个文件的文件名
substr(string, start, length)函数:返回string的规定部分
str_replace(string1, string2, string3)函数:将string3中的string1替换成string2
filesize()函数:返回指定文件的大小
local(局部)
global(全局)
static(静态)
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
二、PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
实例
<?php$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
上面的例子可以这样重写:
实例
<?php$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
三、php中echo和print的区别
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回1
提示:echo比print快,因为他不返回任何值
下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<?php echo "<h2>PHP is fun!</h2>"; echo "Hello world!<br>"; echo "I'm about to learn PHP!<br>"; echo "This", " string", " was", " made", " with multiple parameters."; ?>
显示变量
下面的例子展示如何用 echo 命令来显示字符串和变量:<?php $txt1="Learn PHP"; $txt2="W3School.com.cn"; $cars=array("Volvo","BMW","SAAB"); echo $txt1; echo "<br>"; echo "Study PHP at $txt2"; echo "My car is a {$cars[0]}"; ?>
PHP print 语句
print 也是语言结构,有无括号均可使用:print 或 print()。显示字符串
下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):<?php print "<h2>PHP is fun!</h2>"; print "Hello world!<br>"; print "I'm about to learn PHP!"; ?>
显示变量
下面的例子展示如何用 print 命令来显示字符串和变量:<?php $txt1="Learn PHP"; $txt2="W3School.com.cn"; $cars=array("Volvo","BMW","SAAB"); print $txt1; print "<br>"; print "Study PHP at $txt2"; print "My car is a {$cars[0]}"; ?>
四、整数的格式
整数规则:
整数必须有至少一个数字(0-9)
整数不能包含逗号或空格
整数不能有小数点
整数正负均可
可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:
实例
<?php $x = 5985; var_dump($x); echo "<br>"; $x = -345; // 负数 var_dump($x); echo "<br>"; $x = 0x8C; // 十六进制数 var_dump($x); echo "<br>"; $x = 047; // 八进制数 var_dump($x); ?>
五、php字符串操作函数
1、strlen()函数返回字符串长度
实例
<?phpecho strlen("Hello world!");
?>
以上代码的输出是:12
2、PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
下例检索字符串 "Hello world!" 中的文本 "world":
实例
<?php echo strpos("Hello world!","world"); ?>
以上代码的输出是:6。
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
六、php常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
实例
<?php define("GREETING", "Welcome to W3School.com.cn!"); echo GREETING; ?>
下例创建了一个对大小写不敏感的常量,值为 "Welcome to W3School.com.cn!":
实例
<?php define("GREETING", "Welcome to W3School.com.cn!", true); echo greeting; ?>
七、运算符
1、算数运算符
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
+ | 加法 | $x + $y | $x 与 $y 求和 |
- | 减法 | $x - $y | $x 与 $y 的差数 |
* | 乘法 | $x * $y | $x 与 $y 的乘积 |
/ | 除法 | $x / $y | $x 与 $y 的商数 |
% | 模数 | $x % $y | $x 除 $y 的余数 |
赋值 | 等同于 | 描述 |
---|---|---|
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 | 模数 |
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
. | 串接 | $txt1 = "Hello" $txt2 = $txt1 . " world!" | 现在 $txt2 包含 "Hello world!" |
.= | 串接赋值 | $txt1 = "Hello" $txt1 .= " world!" | 现在 $txt1 包含 "Hello world!" |
运算符 | 名称 | 描述 |
---|---|---|
++$x | 前递增 | $x 加一递增,然后返回 $x |
$x++ | 后递增 | 返回 $x,然后 $x 加一递增 |
--$x | 前递减 | $x 减一递减,然后返回 $x |
$x-- | 后递减 | 返回 $x,然后 $x 减一递减 |
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
== | 等于 | $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。 |
> | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 |
< | 大于 | $x < $y | 如果 $x 小于 $y,则返回 true。 |
>= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. |
<= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true。 |
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 |
or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 |
&& | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 |
|| | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
! | 非 | !$x | 如果 $x 不为 true,则返回 true。 |
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
+ | 联合 | $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。 |
八、switch语句
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
九、循环
while循环、do...while循环、for循环(这三个循环都和C++差不多)
foreach循环:
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) { code to be executed; }
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<?php$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
运行结果:
red
green
blue
yellow
十、函数默认参数
PHP 默认参数值
下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:实例
<?phpfunction setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
运行结果:
高度是:350
高度是:50
高度是:135
高度是:80
十一、数组
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
数组在单个变量中存储多个值:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
运行结果:
I like Volvo, BMW and SAAB.
array()用于创建数组
count() 函数用于返回数组的长度(元素数)
PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。有两种创建关联数组的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";
随后可以在脚本中使用指定键:
实例
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
遍历关联数组
如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:实例
<?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
运行结果:
Key=Bill, Value=35
Key=Steve, Value=37
Key=Peter, Value=43
数组的排序函数:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
十二:一些常用函数
is_dir()函数:判断参数是不是一个目录,若是则返回true
dirname() 函数:返回路径中的目录部分,会去除路径中的文件名部分
opendir() 函数:打开目录句柄
readdir($path)函数:返回目录中的下一个文件的文件名
substr(string, start, length)函数:返回string的规定部分
参数 | 描述 |
---|---|
string | 必需。规定要返回其中一部分的字符串。 |
start | 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始 |
length | 可选。规定被返回字符串的长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回的长度 负数 - 从字符串末端返回的长度 |
filesize()函数:返回指定文件的大小
相关文章推荐
- PHP学习入门的一些基础知识(菜鸟必看)
- 从基础开始:新手需要知道的一些重要知识点
- PHP中最容易忘记的一些知识点总结
- PHP程序员的C学习之路2 - 第一章, C语言的一些基础
- 【黑马程序员】C#基础中一些知识点总结备忘
- PHP扩展2:config.m4中的一些基础的宏定义和需要注意的地点
- php中关于mysqli和mysql区别的一些知识点分析
- PHP基础教程(php入门基础教程)一些code代码
- php基础问题一些需要禁用的PHP危险函数
- php基础3------一些与数组相关的函数
- PHP的一些知识点
- php中关于mysqli和mysql区别的一些知识点分析
- php中关于mysqli和mysql区别的一些知识点整理
- PHP基础教程(php入门基础教程)一些code代码
- 新手必看的PHP学习入门的一些基础知识
- PHP正则表达式一些基础
- 新手学习PHP的一些基础知识分享
- php中关于mysqli和mysql区别的一些知识点整理
- fleaPHP框架的一些基础问题
- PHP基础知识系列:知识点