PHP语言基础注意点
程序员文章站
2022-07-14 08:24:44
...
例子1:分别输入八进制、十进制和十六进制的结果
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html"/>
<title>整型不同进制的输出</title>
</head>
<body>
<?php
$str1 =1234;
$str3 =0x1234;
$str2 =01234;
echo "数字1234不同进制的输出结果:<p>";
echo "八进制的结果是:$str2<br>";
echo "十进制的结果是:$str1<br>";
echo "十六进制的结果是:$str3";
?>
</body>
</html>
运行结果:
注意点:如果在八进制中出现了非法数字(8和9),则后面的数字会被忽略掉。
例子2:三种方法,即圆周率函数,传统书写格式和科学记数法输出圆周率
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>应用3种方法计算圆周率的值</title>
</head>
<body>
<?php
echo '圆周率的3种书写方法:<p>';
echo '圆周率函数:pi() = '. pi().'<p>';//调用pi函数输出圆周率
echo '传统书写格式:3.14159265359 = '.3.14159265359.'<p>';//传统书写格式的浮点数
echo '科学记数法: 314159265359E-11 = '.314159265359E-11.'<p>';//科学记数法格式的浮点数
?>
</body>
</html>
运行结果:
注意点:浮点数值只是一个近似值,所以要尽量避免浮点型之间比较大小,因为最后的结果往往是不准确的。
例子3:单引号和双引号的区别
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>单引号和双引号的使用区别</title>
</head>
<body>
<?php
$str='我是小小字符串';//声明一个字符串变量
echo "$str";//用双引号输出的是变量的值
echo "<p>";//输出段标记
echo '$str';//用单引号输出的是字符串
?>
</body>
</html>
运行结果:
注意点:单引号和双引号的另外一个不同点是:使用单引号时,只要对单引号转义就行了,而使用双引号时,还要注意特殊字符的转义,特殊字符用“\”来转义。
例子4:界定符的使用,输出的结果和双引号没什么区别
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>使用界定符定义字符串</title>
</head>
<body>
<?php
$str="学习PHP语言要永不言弃!";
echo <<<str
这和双引号没有什么区别,\$str同样可以被输出出来。<p>
\$str的内容为:$str
str;
?>
</body>
</html>
运行结果:
注意点:结束标识符必须另起一行,并且不允许有空格。在标识符前后有其他符号或字符时,也会发生错误。
例子5:null的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>被赋值为null的3种情况</title>
</head>
<body>
<?php
echo "变量(\$str1)直接赋值为null:";
$str1 =null;//变量$str1被赋空值
$str3 ="str";//变量$str3被赋值str
if(is_null($str1))//判断$str1是否为空
echo "str1 = null";
echo "<p>变量(\$str2)未被赋值:";
if(is_null($str2))//判断$str2 是否为空
echo "str2 = null";
echo "<p>被unset()函数处理过的变量(\$str3):";
unset($str3);//释放$str3
if(is_null($str3))//判断$str3是否为空
echo "str3 = null";
?>
</body>
</html>
运行结果:
注意点:is_null()函数用来判断变了是否为null,该函数返回一个boolean型,如果变量为null,则返回true,否则返回false,unset()函数用来销毁指定的变量。
例子6:将指定的字符串转义成其他类型。
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>将指定字符串转换成其他类型</title>
</head>
<body>
<?php
$num ="2.568475E2";
echo "原始string型:".$num;//输出原始字符串
echo "<br>";
echo "转换为boolean型:".(boolean)$num;//将字符串转换为布尔型并输出
echo "<br>";
echo "转换为integer型:".(integer)$num;//将字符串转换为整型并输出
echo "<br>";
echo "转换为float型:".(float)$num;//将字符串转换为浮点型并输出
echo "<br>";
echo "转换为array型:".(array)$num;//将字符串转换为数组型并输出
?>
</body>
</html>
运行结果:
例子7:常量的应用。
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>通过函数对常量进行定义、获取和判断</title>
</head>
<body>
<?php
define ("MESSAGE","PHP开发实战");//定义常量,并设置大小写敏感
echo MESSAGE."<BR>";//输出常量MESSAGE
echo Message."<BR>";//输出"Message",表示没有该常量
define ("COUNT","PHP开发实战,让您编程无忧",true);
echo COUNT."<BR>";//输出常量COUNT
echo Count."<BR>";//输出常量COUNT,因为设定大小写不敏感
$name ="count";
echo constant ($name)."<BR>";//输出常量COUNT
if(defined("MESSAGE")){//如果定义返回True,使用echo输出显示信息
echo "PHP开发实战,高效编程!";
}
?>
</body>
</html>
运行结果:
注意点:注意函数define、constant和defined的应用。
例子8:预定义常量的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>预定义常量</title>
</head>
<body>
<?php
echo "当前文件路径: ".__FILE__;//输出“__FILE__”常量
echo "<br>当前行数:".__LINE__;//输出“__LINE__”常量
echo "<br>当前PHP版本信息:".PHP_VERSION;//输出PHP版本信息
echo "<br> 当前操作系统: ".PHP_OS ;//输出系统信息
?>
</body>
</html>
运行结果:
注意点:和用户自定义常量没啥区别。
例子9:变量间的赋值应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>变量间的赋值</title>
</head>
<body>
<?php
$str1 ="PHP完全手册";//声明变量$str1
$str2 = $str1;//使用$str1来初始化$str2
$str1 ="我喜欢学PHP";//改变变量$str1的值
echo $str2;//输出变量$str2的值
?>
</body>
</html>
运行结果:
注意点:变量间的赋值,两个变量使用各自的内存,互不干扰。
例子10:引用赋值的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>引用赋值</title>
</head>
<body>
<?php
$str ="学习PHP很轻松";//声明变量$str
$str2 =& $str;//使用引用赋值,这是$str2已经赋值成为“学习PHP很轻松”
$str ="我要大声的告诉你:$str";//重新给$str赋值
echo $str2;//输出变量$str2
echo "<p>";
echo $str;//输出变量$str
?>
</body>
</html>
运行结果:
注意点:引用赋值并不是赋值一个变量给另一个变量,而是将两个变量指向同一个内容,可以理解为将同一个变量的地址传递给另外一个变量。引用后两个变量完全相同 ,对其中一个变量内容的修改,也会修改另外一个变量。
例子11:全局变量的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>在自定义函数中应用全局变量与局部变量</title>
</head>
<body>
<?php
$zy ="你好.";
$zyy ="PHP语言.";
function lxt (){
$zy="我喜欢";
echo $zy."<br>";
global $zyy ;//利用关键字global在函数内部定义全局变量
echo $zyy."<br>";//此处调用$zyy
}
lxt ();
?>
</body>
</html>
运行结果:
注意点:因为默认情况下全局变量和局部变量的作用域是不同的,所以,在函数内部可以定义与全局变量同名的变量。全局变量可以在程序中的任何地方访问,但是在用户自定义函数内部是不可用的,想在用户自定义函数内部使用全局变量,要使用global关键字声明。
例子12:可变变量的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>可变变量的应用</title>
</head>
<body>
<?php
$change_name ="php";//声明变量$change_name
$php ="编程的关键因素在于学好语言基础!";//声明变量$php
echo $change_name ;//输出变量$change_name
echo $$change_name ;//通过可变变量输出$php的值
?>
</body>
</html>
运行结果:
注意点:可变变量使用一个变量作为另外一个变量的名称,所以可变变量又称为变量的变量。可变变量通过在一个变量名称前使用两个$来实现。
例子13:字符串运算符的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>字符串运算符的应用</title>
</head>
<body>
<?php
$n ="18.26e";//声明一个字符串变量,以数字开头
$m =9;//声明一个整型变量
$nm = $n.$m;//使用“.”运算符将两个变量连接
echo $nm."\t";
$mn = $n + $m ;//使用“+”运算符将两个变量连接
echo $mn;
?>
</body>
</html>
运行结果:
注意点:当使用+时,PHP会认为是一次运算。如果+号的两边有字符类型,则自动转为整型,如果是字母,则输出0,如果以数字开头的字符串,则会截断字符串头部的数字,再进行运算。
例子14:逻辑运算符的应用
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>逻辑运算符的应用</title>
</head>
<body>
<?php
$i =true;//声明一个布尔型变量$i,赋值为真
$j =true;//再声明一个布尔变量$j,赋值也为真
$z =false;//最后再声明一个初值为假的布尔变量$z
if($i or $j and $z)//这是用or做判断
echo "true";//如果if表达式为真,输出true
else
echo "false";//否则输出false
echo "<br>";
if($i || $j and $z)//这是用||做判断
echo "true";//如果表达式为真,输出true
else
echo "false";//如果表达式为假,输出false
?>
</body>
</html>
运行结果:
注意点:两个if语句,除了or和||不同之外,其他完全一样,但最后的结果却正好相反。
例子15_24:检测变量是否为整型
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
<title>检测变量是否为整型</title>
</head>
<body>
<?php
$a=true;//定义变量$a的值
$b="欢迎来到PHP的世界";//定义变量$b的值
$c=123456;//定义$c的值
echo "第一个变量是否为整型:".is_int($a)."<br>";//检测变量$a是否为整型并输出字符串
echo "第二个变量是否为整型:".is_int($b)."<br>";//检测变量$b是否为整型并输出字符串
echo "第三个变量是否为整型:".is_int($c)."<br>";//检测变量$c是否为整型并输出字符串
?>
</body>
</html>
运行结果:
例子16_29:登录密码验证
代码:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312">
<title>验证两次输入的密码是否相等</title>
<styletype="text/css">
<!--
.style1 {font-size: 13px}
.style2 {font-size: 12px;
color: #FF0000;
}
.style3 {font-size: 12px}
.STYLE4 {color: #FF0000}
-->
</style>
</head>
<body>
<tablewidth="409"border="2"cellpadding="2"cellspacing="2"bordercolor="#009933"bgcolor="#CCFF33">
<formname="form1"method="post"action="">
<tralign="center">
<tdheight="24"colspan="2"class="style1"> 验证两次输入的密码是否相等 </td>
</tr>
<tr>
<tdwidth="108"height="20"align="center"class="style1">用户名:</td>
<tdwidth="295"class="style3"><inputname="username"type="text"id="username"size="20"maxlength="50"></td>
</tr>
<tr>
<tdheight="20"align="center"class="style1">密码:</td>
<tdclass="style3"><inputname="password"type="password"id="password"size="20"maxlength="50">
<spanclass="STYLE4">* 密码不能为空</span></td>
</tr>
<tr>
<tdheight="18"align="center"class="style1">密码确认:</td>
<tdclass="style3"><inputname="password1"type="password"id="password1"size="20"maxlength="50">
<spanclass="STYLE4">* 确认密码不能为空</span></td>
</tr>
<tr>
<tdheight="37"align="center"> </td>
<tdclass="style3"><inputtype="submit"name="Submit"value="提交">
<inputtype="reset"name="Submit2"value="重置"></td>
</tr>
</form>
</table>
</body>
</html>
<?php
if($_POST[Submit]!=""){
$password=$_POST[password];
$password1=$_POST[password1];
if($password==$password1){
echo "注册成功!";
}else{
echo "两次输入的密码不一致!";
}
}
?>
运行结果:
上一篇: 字节跳动三轮技术面_后端研发提前批
下一篇: 你可能没听过的11个Python库