您的位置:首页 > 编程语言 > PHP开发

一些php基础知识点

2016-12-08 09:30 281 查看
一、PHP 有三种不同的变量作用域:
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()函数返回字符串长度

实例

<?php

echo 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 的余数
2、赋值运算符
赋值等同于描述
x = yx = y右侧表达式为左侧运算数设置值。
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y模数
3、字符串运算符
运算符名称例子结果
.串接$txt1 = "Hello" $txt2 = $txt1 . " world!"现在 $txt2 包含 "Hello world!"
.=串接赋值$txt1 = "Hello" $txt1 .= " world!"现在 $txt1 包含 "Hello world!"
4、递增/递减运算符

运算符名称描述
++$x前递增$x 加一递增,然后返回 $x
$x++后递增返回 $x,然后 $x 加一递增
--$x前递减$x 减一递减,然后返回 $x
$x--后递减返回 $x,然后 $x 减一递减
5、比较运算符

运算符名称例子结果
==等于$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。
6、逻辑运算符

运算符名称例子结果
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。
7、数组运算符

运算符名称例子结果
+联合$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。
$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 循环只适用于数组,并用于遍历数组中的每个键/值对。

语法

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() 函数,它的参数会取默认值:

实例

<?php

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() 函数用于返回数组的长度(元素数)

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 参数所在的位置返回的长度
负数 - 从字符串末端返回的长度
str_replace(string1, string2, string3)函数:将string3中的string1替换成string2

filesize()函数:返回指定文件的大小
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php