php-day1

66 阅读2分钟

魔术常量(函数、类、方法、命名空间还没学,后续补充)

  • __LINE__:返回当前文件中所在的行号。
  • __FILE__:返回当前文件的绝对路径(包含文件名)。
  • __DIR__ :返回当前文件的绝对路径(不包含文件名)。
<?php
    echo "当前文件目录".__DIR__."<br />";
    echo "当前文件路径:".__FILE__."<br />";
    echo "当前行号:".__LINE__."<br />";
?>

image.png
案例解析:<?php ?>是php脚本语法,echo是一个输出字符串的命令,字符串用.连接,;作为结束符,<br />是html的换行。

预定义常量

PHP 向它运行的任何脚本提供了大量的预定义常量。其中,上述描述的魔术常量也属于预定义常量的一种,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

  • PHP_VERSION (string):当前 PHP 版本的字符串
  • PHP_OS (string):运行 PHP 的操作系统。
  • PHP_OS_FAMILY (string):运行 PHP 的操作系统家族。
  • PHP_SAPI (string):运行 PHP 的服务器接口类型(Server API)。
  • PHP_INT_MAX (int):当前 PHP 版本支持的最大整型数字。
  • PHP_INT_MIN (int):当前 PHP 版本支持的最小整型数字。
  • PHP_INT_SIZE (int):当前 PHP 版本的整数大小(以字节为单位)。
<?php
    echo "当前php版本".PHP_VERSION."<br />";
    echo "当前运行 PHP 的操作系统:".PHP_OS."<br />";
    echo "当前运行 PHP 的操作系统家族:".PHP_OS_FAMILY."<br />";
    echo "当前运行 PHP 的服务器接口类型:".PHP_SAPI."<br />";
    echo "当前 PHP 版本支持的最大整型数字:".PHP_INT_MAX ."<br />";
    echo "当前 PHP 版本支持的最小整型数字:".PHP_INT_MIN ."<br />";
    echo "当前 PHP 版本的整数大小(以字节为单位):".PHP_INT_SIZE ."<br />";
?>

image.png

超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

1.$GLOBALS:PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问,它是一个包含了全部变量的全局组合数组,变量的名字就是数组的键。

<?php
$age = 18;
if($age >= 18){
    $GLOBALS['msg'] = '已成年';
}
echo $msg;
?>

image.png
上述案例中msg是一个$GLOBALS数组中的超级全局变量,所以该变量可以在代码块访问。如果msgif代码块里面仅仅只是变量的话,在外部访问$msg是不行的。

2.$_SERVER:一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组,这个数组中的项目由 Web 服务器创建。

<?php 
echo $_SERVER['PHP_SELF'];
?>

image.png
上述案例中,$_SERVER['PHP_SELF']是指当前执行脚本的文件名,详情参考php $_SERVER 变量中的元素。

3.$_REQUEST:用于收集HTML表单提交的数据。

<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
用户名:<input type="text" name="userName">
密码:<input type="text" name="password">
<input type="submit">
</form>
 
<?php 
$userName = $_REQUEST['userName']."<br />"; 
$password = $_REQUEST['password']; 
echo "用户名:".$userName;
echo "密码:".$password
?>
</body>
</html>

image.png
上述案例类似于一个登录的业务,form表单包含用户名和密码的输入框及提交按钮。当用户通过点击提交按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的路径,为了方便展示,就指定了当前的脚本文件路径。我们可以以$_REQUEST['表单输入框的name']的方式拿到表单中的值。
4.$_POST:用于收集HTML表单提交的数据。用法和$_REQUEST相似,在HTML form标签的指定该属性:"method="post"
5.$_GET:用于收集HTML表单提交的数据,用法和$_REQUEST相似,在HTML form标签的指定该属性:"method="get"

流程控制小练习

使用rand()函数生成一个1,50之间的数,然后条件判断这个数是不是偶数,如果是偶数,条件表达式为真,则输出“变量$num是偶数”,相反,条件表达式为假,输出“变量$num是奇数”

<?php
$num = rand(1,50);
if($num % 2==0){
    echo $num."是偶数";
}else{
    echo $num."是奇数";
}
?>

image.png

循环小练习

计算100之内的偶数之和,
计算100之内的奇数之和
计算1~100的和

<?php
$oddSum = 0; //奇数和
$evenSum = 0; //偶数和
$sum = 0;  //和
for($i=1;$i<=100;$i++){
    if($i%2==0){
        $evenSum+=$i;
    }else{
        $oddSum+=$i;
    }
    $sum+=$i;
}
echo "1-100的奇数和为:".$oddSum;
echo "<br/>";
echo "1-100的偶数和为:".$evenSum;
echo "<br/>";
echo "1-100的和为:".$sum
?>

image.png