返回

解析面试热门的PHP函数和常量

见解分享

一、PHP全局变量$GLOBALS

PHP提供了$GLOBALS超全局变量,它可以引用全局作用域中可用的全部变量,并以数组的形式存储。变量的名字就是数组的键名,可以通过索引数组的方式来访问全局变量。举个例子:

<?php
$x = 10;
$GLOBALS['y'] = 20;

function test() {
  echo $GLOBALS['x']; // 输出:10
  echo $GLOBALS['y']; // 输出:20
}

test();
?>

二、PHP常量const和define的区别

PHP中可以使用const和define函数来定义常量。两者之间主要有以下区别:

  1. 定义位置 :const用于类成员变量的定义,一经定义,不可修改。define不可以用于类成员变量的定义,可用于全局常量。
  2. 作用范围 :const定义的常量只能在类内部访问,define定义的常量可在类内部和外部访问。
  3. 语法结构 :const定义常量时,常量名和值之间使用等号(=)连接;define定义常量时,常量名、值和true(可选)之间使用逗号(,)分隔。

例如:

<?php
// 使用const定义类成员常量
class MyClass {
  const PI = 3.14;

  public function getPI() {
    return self::PI; // 输出:3.14
  }
}

// 使用define定义全局常量
define('GRAVITY', 9.8);

echo MyClass::PI; // 输出:3.14
echo GRAVITY; // 输出:9.8
?>

三、PHP数组sort()和rsort()函数

PHP提供了sort()和rsort()函数对数组进行排序。sort()函数将数组单元按升序排列,而rsort()函数将数组单元按降序排列。

<?php
$numbers = [3, 1, 5, 4, 2];

// 使用sort()函数按升序排列数组
sort($numbers);
print_r($numbers); // 输出:[1, 2, 3, 4, 5]

// 使用rsort()函数按降序排列数组
rsort($numbers);
print_r($numbers); // 输出:[5, 4, 3, 2, 1]
?>

四、PHP循环语句for、while和do...while

PHP提供了for、while和do...while三种循环语句。

  • for循环 :使用for循环时,首先需要初始化一个变量,然后使用循环条件和循环体。循环条件为true,则执行循环体,并对变量进行更新,直到循环条件为false,循环结束。

  • while循环 :使用while循环时,首先需要设置一个循环条件。循环条件为true,则执行循环体,直到循环条件为false,循环结束。

  • do...while循环 :使用do...while循环时,首先执行循环体,然后检查循环条件。循环条件为true,则继续执行循环体,直到循环条件为false,循环结束。

以下是一个使用三种循环语句的例子:

<?php
// 使用for循环输出1到10
for ($i = 1; $i <= 10; $i++) {
  echo $i . "\n";
}

// 使用while循环输出1到10
$i = 1;
while ($i <= 10) {
  echo $i . "\n";
  $i++;
}

// 使用do...while循环输出1到10
$i = 1;
do {
  echo $i . "\n";
  $i++;
} while ($i <= 10);
?>

五、PHP条件判断语句if、else和elseif

PHP提供了if、else和elseif条件判断语句。

  • if语句 :使用if语句时,首先需要设置一个条件。条件为true,则执行if语句体。条件为false,则跳过if语句体,继续执行后续代码。

  • else语句 :else语句与if语句配合使用。当if语句的条件为false时,执行else语句体。

  • elseif语句 :elseif语句与if语句配合使用。当if语句的条件为false时,执行elseif语句体。如果elseif语句的条件也为false,则继续检查下一个elseif语句的条件,直到找到一个条件为true的elseif语句或到达else语句。

以下是一个使用if、else和elseif语句的例子:

<?php
$score = 85;

if ($score >= 90) {
  echo "A";
} elseif ($score >= 80) {
  echo "B";
} elseif ($score >= 70) {
  echo "C";
} else {
  echo "D";
}
?>

在本次文章中,我们解析了PHP基本语法常识中的全局变量、常量、数组、函数、循环、条件判断等基础知识,并辅以示例演示,希望能帮助读者在理解的基础上更好地掌握这些知识点。