为了拓展知识面,学习了一些PHP的相关知识,汇总、分享。
一、PHP echo 和 print 语句
1、echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
2、echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
二、字符串
1、字符串可以是引号内的任何文本。您可以使用单引号或双引号:
例如:$x = "Hello world!"; $x = 'Hello world!'; 都可以
三、
1、整数可以用三种格式规定:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
2、浮点数是有小数点或指数形式的数字。
3、逻辑是 true 或 false。
四、
1、数组在一个变量中存储多个值。 var_dump() 会返回变量的数据类型和值:
例如:<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
输出结果:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
五、PHP对象
1、对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
输入:
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
function print_vars($obj) {
foreach (get_object_vars($obj) as $prop => $val) {
echo "\t$prop = $val\n";
}
}
// instantiate one object
$herbie = new Car("white");
// show herbie properties
echo "\herbie: Properties\n";
print_vars($herbie);
?>
输出:\herbie: Properties color = white
PHP --- 字符串函数
1、strlen() 函数返回字符串的长度,以字符计。
<?php
echo strlen("Hello world!");
?>
输出:12
提示:strlen() 常用于循环和其他函数,来确定字符串何时结束。
例如,在循环中,我们也许需要在字符串的最后一个字符之后停止循环。
2、strpos() 函数用于检索字符串内指定的字符或文本。
<?php
echo strpos("Hello world!","world");
?>
输出:6
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
PHP 常量
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
一、设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
1、首个参数定义常量的名称
2、第二个参数定义常量的值
3、可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
例一:
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
echo "<br>"; //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
greeting
例二:
<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo GREETING;
echo "<br>"; //用来换行
echo greeting;
?>
输出:Welcome to W3School.com.cn!
Welcome to W3School.com.cn!
PHP--- 条件语句
在 PHP 中,我们可以使用以下条件语句:
- if 语句 - 如果指定条件为真,则执行代码
- if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
- if...elseif....else 语句 - 选择若干段代码块之一来执行
- switch 语句 - 语句多个代码块之一来执行
PHP --- 循环语句
在 PHP 中,我们有以下循环语句:
- while - 只要指定条件为真,则循环代码块
<?php
$x=1;
while($x<=5) {
echo "这个数字是:$x <br>";
$x++;
}
?>
- do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>
- foreach - 遍历数组中的每个元素并循环代码块
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
PHP --- 函数
1、用户定义的函数声明以关单 "function" 开头:
<?php
function writeMsg() { //函数的定义
echo "Hello world!";
}
writeMsg(); //函数的调用
?>
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
2、带参函数
例一:单个参数
<?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
?>
打印:Li Zhang.
Hong Zhang.
例二:多个参数
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
?>
打印:Li Zhang. Born in 1975
Hong Zhang. Born in 1978
例三:带默认值
<?php
function setHeight($minheight=50) {
echo "高度是:$minheight <br>";
}
setHeight(350);
setHeight(); //未输入参数,使用默认参数
?>
输出:高度是:350
高度是:50
例四:带返回值,使用 return 语句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) .
?>
PHP --- 数组
在 PHP 中, array() 函数用于创建数组:
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
一、两种创建索引数组的方法:
1、 索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
2、也可以手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
二、获得数组的长度 - count() 函数
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
打印:3
三、遍历索引数组
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "
"; //换行
}
?> - 关联数组 - 带有指定键的数组
1、关联数组是使用您分配给数组的指定键的数组。
2、有两种创建关联数组的方法:
方法一:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
方法二
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43"; - 多维数组 - 包含一个或多个数组的数组
后续学习
PHP --- 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
例一:对数组进行排序
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars); //升序排列
$clength=count($cars); //打印函数
for($x=0;$x<$clength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
例二:根据值对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age); // 排序
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
例三:根据键对数组进行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age); // 排序
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP --- 全局变量 (这里介绍的并不全面)
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
- $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; //$GLOBALS[ ] 全局变量
}
addition();
echo $z;
?>
- $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息
- $_REQUEST 用于收集 HTML 表单提交的数据。
下面的例子展示了一个包含输入字段及提交按钮的表单。
当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 <form> 标签的 action 属性中指定的脚本文件。
在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。
然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>