老套路了,朋友们,先回忆昨天讲的内容PHP语法学习(第六天)主要讲了PHP中的if…else语句、关联数组以及数组排序。
想要学习更多PHP语法相关内容点击“PHP专栏!”
下列代码都是在PHP在线测试运行环境中得到的!!
还记得电击小子吗?——小光:“只要你不放弃自己,一定能成功!”
文章目录
- PHP 循环语句
- while 循环
- 实例
- do...while 语句
- 实例
- for 循环
- 实例
- foreach 循环
- 实例:
- PHP 魔术常量
- `__LINE__` :文件中的当前行号
- `__FILE__`:文件的完整路径和文件名
- 实例:
- `__DIR__`:文件所在的目录
- 实例
- `__FUNCTION__`:函数名称
- 实例
- `__CLASS__`:类的名称
- 实例
- `__TRAIT__`:Trait 的名字
- 实例:
- `__METHOD__`:类的方法名
- 实例:
- `__NAMESPACE__`:当前命名空间的名称
- 实例:
PHP 循环语句
在 PHP 中,有下列循环语句:
while
- 只要指定的条件成立,则循环执行代码块do...while
- 首先执行一次代码块,然后在指定的条件成立时重复这个循环for
- 循环执行代码块指定的次数foreach
- 根据数组中每个元素来循环代码块
while 循环
- 只要指定的条件成立,则循环执行代码块
语法:
while (条件)
{
要执行的代码;
}
实例
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "电击小子 is NO" . $i . "<br>";
$i++;
}
?>
</body>
</html>
运行结果:
电击小子 is NO1
电击小子 is NO2
电击小子 is NO3
电击小子 is NO4
电击小子 is NO5
do…while 语句
- 首先执行一次代码块,然后在指定的条件成立时重复这个循环
语法:
do
{
要执行的代码;
}
while (条件);
实例
<html>
<body>
<?php
$i=1;
do
{
$i++; #先执行i=i+1
echo "电击小子 is NO" . $i . "<br>";
}
while ($i<=5);
?>
</body>
</html>
运行结果:
电击小子 is NO2
电击小子 is NO3
电击小子 is NO4
电击小子 is NO5
电击小子 is NO6
for 循环
- 循环执行代码块指定的次数
语法:
for (初始值; 条件; 增量)
{
要执行的代码;
}
实例
<?php
for ($i=1; $i<=5; $i++)
{
echo "电击小子 is NO" . $i . "<br>";
}
?>
运行结果
电击小子 is NO1
电击小子 is NO2
电击小子 is NO3
电击小子 is NO4
电击小子 is NO5
foreach 循环
foreach
循环用于遍历数组- 根据数组中每个元素来循环代码块
语法:
先讲讲原理:每进行一次循环,当前数组元素的值就会被赋值给 $value
变量(数组指针会逐一地移动),在进行下一次循环时,你会看到数组中的下一个值。
foreach ($array as $value)
{
要执行代码;
}
实例:
<?php
$car =array("SU7 Ultra","BMW","RB17");
foreach ($car as $value)
{
echo "我的梦想 ".$value . "<br>";
}
?>
运行结果:
我的梦想 SU7 Ultra
我的梦想 BMW
我的梦想 RB17
PHP 魔术常量
- 所谓的“魔术变量”实际上是指一组特殊的预定义常量
- 这些“魔术变量”在调试、日志记录、自动路径处理等场景中都非常有用
- PHP当中有八个魔术常量,这些常量的值会随着它们在代码中的位置改变而改变
__LINE__
:文件中的当前行号
实例:
<?php
echo '这是第 " ' . __LINE__ . ' " 行';
?>
运行结果:
这是第 " 2 " 行
__FILE__
:文件的完整路径和文件名
- 若用在被包含文件中,则返回被包含的文件名
- 从 PHP 4.0.2版本 开始,
__FILE__
总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径
实例:
<?php
echo '该文件位于 " ' . __FILE__ . ' " ';
?>
运行结果:
该文件位于 " /box/script.php "
这里的文件名是在PHP在线测试网站运行得到的(个人建议一边学一边玩代码)
__DIR__
:文件所在的目录
- 若用在被包括文件中,则返回被包括的文件所在的目录
- 该常量等价于
dirname(__FILE__)
,在PHP 5.3.0版本中新增了,只有根目录中,包括末尾的斜杠
实例
<?php
echo '该文件位于 " ' . __DIR__ . ' " ';
?>
运行结果:
该文件位于 " /box "
__FUNCTION__
:函数名称
- 从
PHP 5
起本常量返回该函数被定义时的名字(区分大小写) - 在
PHP 4
中该值总是小写字母的
实例
<?php
function lxj() {
echo '函数名为:' . __FUNCTION__ ;
}
lxj( );
?>
运行结果:
函数名为:lxj
__CLASS__
:类的名称
- 从
PHP 5
起本常量返回该类被定义时的名字(区分大小写) - 从
PHP 5.4
起,__CLASS__
对trait
也起作用。当用在trait
方法中时,__CLASS__
是调用trait
方法的类的名字
实例
<?php
class lxj {
function _print() {
echo '类名为:' . __CLASS__ . "<br>";
echo " 函数名为:" . __FUNCTION__ ;
}
}
$t = new lxj();
$t->_print();
?>
运行结果:
类名为:lxj
函数名为:_print
__TRAIT__
:Trait 的名字
- 从
PHP 5.4.0
版本起 ,PHP 实现了代码复用的一个方法,称为traits
Trait
名包括其被声明的作用区域(例如 Foo\Bar)。从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所覆盖。与 MyHelloWorld 类中定义的方法一致。- 优先顺序是当前类中的方法会覆盖 trait 方法,而 trait 方法又覆盖了基类中的方法。
实例:
<?php
class Base {
public function sayHello() {
echo 'Hello ';
}
}
trait SayWorld {
public function sayHello() {
parent::sayHello();
echo 'LXJ!';
}
}
class MyHelloWorld extends Base {
use SayWorld;
}
$o = new MyHelloWorld();
$o->sayHello();
?>
运行结果:
Hello LXJ!
__METHOD__
:类的方法名
-返回该方法被定义时的名字(区分大小写),该常量是在PHP 5.0.0 新加的
实例:
<?php
function lxj() {
echo '函数名为:' . __METHOD__ ;
}
lxj();
?>
运行结果:
函数名为:lxj
__NAMESPACE__
:当前命名空间的名称
- 此常量是在编译时定义的(PHP 5.3.0 新增)。
实例:
<?php
namespace djxz;
echo '命名空间为:"', __NAMESPACE__, '"';
// 输出 命名空间为:"djxz"
?>
今天的内容到这里就结束了,明天见!!
PHP相关内容专栏点击"PHP语法知识"
想要了解更多请点击练小杰的CSDN!!!!
欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!