이전 글 "PHP 함수를 사용하여 소수를 변환하는 방법"에서는 PHP를 사용하여 2진수와 10진수를 서로 변환하는 방법, 10진수를 16진수로 변환하는 방법을 배웠으며, 관심 있는 친구들은 배울 수 있습니다. 8진수와 8진수 간의 변환에 대해~
이 문서의 초점은 "스크립트 실행을 종료하고 현재 프로그램을 종료합니다"입니다. 우리는 명령문을 통해 PHP 엔진에 알려야 하며, 이 명령문 뒤의 다른 명령문은 이를 수행합니다. 실행할 필요가 없습니다.
그렇다면 스크립트 실행을 어떻게 종료할 수 있을까요? 실제로 PHP는 이 작업을 완료하기 위해 두 개의 내장 함수 "die()
" 및 "exit()
"를 제공합니다! die()
”和“exit()
”就能完成这个操作!
我们来看看下面两个例子
<?php $a = 1; $b = 9; echo $a; // 输出 1 die(); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
输出结果:
<?php $a = 1; $b = 9; echo $a; // 输出 1 exit(); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
输出结果:
可以看出,两个程序都在第 5 行退出(终止执行)了,并没有执行第 6 行和第 7 行的代码。
其实 exit 和 die 这两个名字指向的是同一个函数,die() 是 exit() 函数的别名,两个函数本质上是一样的。且die()和exit() 函数还接受一个可选参数 $message
,用于在退出当前脚本时输出一个消息。
exit($message); die($message);
$message可以是一个具体的数值(int 类型),也可以是一个字符串(String类型),还可以不输入任何参数。
如果为 int 类型,那么该值会作为退出状态码,并且不会被打印输出。(退出状态码的取值范围在 0 至 254 之间。)
<?php $a = 1; $b = 9; echo $a; // 输出 1 exit(0); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
注意:不要使用被 PHP 保留的退出状态码 255。 状态码 0 用于成功中止程序。
如果为String类型,则函数会打印该字符串并退出当前脚本;
<?php header("content-type:text/html;charset=utf-8"); $a = 1; $b = 9; echo $a; // 输出 1 exit("<br>退出脚本"); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
利用这个特性,当程序出错时,我们可以给它传递一个字符串,它会原样输出在系统终端上
$fp=fopen("./readme.txt","r") or die("不能打开该文件"); //这种情况下,如果fopen函数被调用返回布尔值false时,die()将立即终止脚本,并马上打印 //传递给它的字符串,“死前还能说一两句话”。
说明:虽然die()和exit()两者相同,但通常使用中也有细微的选择性。例如:
当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字。
当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。
die()和exit() 函数可以用于循环语句,能起到跳出循环的作用
<?php for ($i=0; $i < 10; $i++) { if ($i == 2) { die; } else { echo '$i = '.$i.'<br>'; } } echo '循环外的一个输出<br>'; ?>
输出结果:
终止程序的运行除了可以使用die()和exit()函数外,还可以利用return
语句来实现。
首先我们要知道:return是语言结构而不是函数。
return:表示执行到该处退出;如果是在函数中,表示退出函数,如果是在脚本中,表示脚本停止执行。
如果在全局范围中调用,则当前脚本文件中止运行。如果当前脚本文件是被 include 的或者 require 的,则控制交回调用文件。此外,如果当前脚本是被 include 的,则 return 的值会被当作 include 调用的返回值,相应的在主脚本文件中定义一个变量进行返回值的接收。
<?php //包含demo13_ stop. php $test = include ' demo13_ stop.php' ; var_ dump($test) ; ?>
demo13_stop.php
<?php //终止脚本执行 echo 'start'; //return return '*'; ?>
如果在主脚本文件中调用 return,则脚本中止运行。
总结:
PHP提供的终止脚本执行的方式有三种:return,die(),exit()
return一般用于结束当前的函数/文件/脚本/其他的执行,并将信息返回给调用他的其他 函数/文件/脚本/其他 。
die()和exit()是使当前执行停止到这里,并且不再进行下去。如果有参数,会直接打印出来(只针对字符串)。
那么如果刚好需要输出的是一个数值变量,则可使用"{}"
다음 두 가지 예를 살펴보겠습니다
<?php $a = 1; $b = 9; exit("{$a}"); // 终止脚本运行,下面不在运行 $sum = $a + $b; echo $sum; // 不被输出 ?>
출력 결과:
1출력 결과: 🎜🎜두 프로그램 모두 5행에서 종료(실행 종료)되었고, 6행과 7행에서는 코드가 실행되지 않은 것을 알 수 있습니다. 🎜🎜실제로 두 이름은 Exit와 Die가 동일한 함수를 가리킵니다. die()는 Exit() 함수의 별칭입니다. 그리고 die() 및 exit() 함수는 현재 스크립트를 종료할 때 메시지를 출력하는 데 사용되는 선택적 매개변수
$message
도 허용합니다. 🎜rrreee🎜$message는 특정 값(int 유형) 또는 문자열(String 유형)일 수 있으며, 매개변수를 입력하지 않을 수도 있습니다. 🎜🎜참고: PHP에서 예약한 종료 상태 코드 255를 사용하지 마세요. 상태 코드 0은 프로그램을 성공적으로 종료하는 데 사용됩니다. 🎜
🎜참고: die()와 exit()는 동일하지만, 그들은 또한 일반적으로 사용됩니다. 미묘한 선택성. 예를 들면 다음과 같습니다. 🎜🎜exit 및 die 함수에 전달된 값이 0이면 일반적으로 Exit()라는 이름을 사용하여 스크립트 실행을 조기에 종료한다는 의미입니다. 🎜🎜프로그램 오류가 발생하면 문자열을 전달할 수 있습니다. 이 문자열은 일반적으로 die()라는 이름을 사용하여 시스템 터미널에 그대로 출력됩니다. 🎜🎜die() 및 exit() 함수를 루프 문에서 사용하여 루프를 벗어날 수 있습니다🎜rrreee🎜출력 결과:🎜🎜🎜🎜die() 및 exit() 함수를 사용하여 프로그램을 종료하는 것 외에도 다음을 수행할 수 있습니다. 또한 이는 🎜
return
문을 사용하여 달성할 수 있습니다. 🎜🎜우선 return은 함수가 아닌 언어 구조라는 점을 알아야 합니다. 🎜🎜return: 해당 지점에서 종료한다는 의미이고, 함수에 있으면 함수를 종료한다는 의미이고, 스크립트에 있으면 스크립트 실행이 중지된다는 의미입니다. 🎜"{}"
를 사용하여 숫자 변수를 래핑할 수 있습니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜rrreee🎜좋아, 그게 다입니다. . 다른 내용을 알고 싶으시면 여기를 클릭하세요. → →🎜php 비디오 튜토리얼🎜🎜위 내용은 PHP 함수를 사용하여 스크립트 프로그램을 종료하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!