スクリプトはステートメントで構成されており、ステートメントはプロセス制御に依存して関数を実装します。このセクションでは主にいくつかのキーワードの使用方法を紹介します。
エルセイフ
elseif
和else if
的行为完全一样,如果用冒号来定义if/elseif
条件,那就不能用两个单词的else if
、そうでない場合、PHP は解析エラーを生成します。
代替構文
次のキーワードでは、フロー制御の代替構文を使用できます。基本的な形式は、左中括弧をコロンに置き換え、右中括弧を次の文字に置き換えることです。
リーリー注意! PHP では、同じ制御ブロック内で 2 つの構文を混合することはサポートされていません。
しながら
このループは一見すると見覚えがあるように見えますが、その用途のいくつかは見落とされています。
マニュアルには、経験豊富な C 言語ユーザーは別の do-while
循环用法,把语句放在do-while(0)
に精通している可能性があると記載されています。この手法については初めて知りましたが、私はまだ C 言語の初心者のようです。
ところで、この特別な使い方の利点を検索して整理してみましょう。 do-while(0)
- コードのチャンク化は、単に中括弧を使用するよりも直感的です。
-
コードの残りのセクションをスキップするには、 - を使用します。
break
マクロ定義関数を使用するときに文の最後にセミコロンを追加すると、より関数呼び出しのように見えます。 -
ブロックレベルのスコープは、変数名が上位レベルのスコープに広がるのを防ぎます。 -
変換された - ステートメント。
goto
foreach
構文構造は、配列を走査するための簡単な方法を提供します。以下の 2 つの構文があります。 foreach
仅能够应用于数组和对象的遍历。foreach
リーリー
で実装されている参照割り当てを使用する必要があります。 $value
前加&
リーリー
はそれを破棄します。 $value
引用在foreach
循环之后仍会保留,建议使用unset()
サンプル プログラムでは、特別なトラバーサル メソッドも見つかりました。それを
と呼びます。 list-each
foreach
の実行が開始されると、配列内のポインターは自動的に最初のユニットを指すようになります。そのため、foreach の前に <code>reset()
を呼び出す必要はありません。コード>ループ>。ただし、while
の の場合、配列内部ポインター $arr
は常に存在するため、次のループの前に reset($arr)
が必要です。 foreach
开始执行时,数组内部的指针会自动指向第一个单元,因此不需要在foreach
循环之前调用reset()
。但是对于while
中的list-each
,数组内部指针$arr
会一直存在着,因此在下次循环前需要reset($arr)
リーリー
は省略できません。 reset
可以省略,但第二个reset
PHP 5.5 では、配列の配列を反復処理し、ネストされた配列をループ変数に解凍する機能が追加されています。
リーリー
のセルの数は、ネストされた配列のセルの数より少なくてもかまいません。その場合、余分な配列のセルは無視されます。それ以上ある場合は、エラー メッセージが発行されます。 list()
は、現在の for/foreach/while/do-while/switch
構造の実行を終了するために使用されます。 break
用来结束当前for/foreach/while/do-while/switch
结构的执行。break
オプションの数値パラメーターを受け入れて、ループから抜け出す回数を決定できますが、パラメーターを変数にすることはできません。
break
複数のループから抜け出すのは初めてなので、特別に小さなプログラムを書いて試してみました。
特別にC言語で試してみたところ、構文エラーが発生しました。
続ける
と同様に、 continue
もオプションの数値パラメーターを受け入れて、ループの最後までスキップするループの数を決定できます。 break
相似,continue
switch
语句被认为是可以使用continue
スイッチ
マニュアルには、PHP は他の言語とは異なると記載されています。switch
に対する continue
ステートメントの効果は
continue
语句作用到switch
上的作用类似于break
switch/case
做的是松散比较==
,而不是严格比较===
。效率方面,switch
语句中条件只求值一次并用来和每个case
语句比较。case
表达式可以是任何求值为简单类型的表达式,不能用数组或对象。允许使用分号代替case
宣言する
directive
セクションでは、declare
code セグメントの動作を設定できます。現在、ticks
と encoding
の 2 つのコマンドのみが認識されます。
構造を持つファイルが他のファイルにインクルードされている場合、そのファイルを含む親ファイルでは機能しません。 directive
部分允许设定declare
代码段的行为,目前只认识两个命令:ticks
和encoding
。declare
结构也可用于全局范围,影响到期后的所有代码。但如果有declare
コード セグメント内の N 個の時間指定可能な低レベル ステートメントを実行するたびに発生するイベントです。各ティックで発生するイベントは、register_tick_function()
によって指定されます。使い方は大まかに以下の通りです。 declare
代码段中解释器每执行N条可计时的低级语句就会发生的事件。在每个tick中出现的事件由register_tick_function()
<code>declare(ticks = 1); function tick_handler() { echo "tick_hander() called.\n"; } register_tick_function('tick_hander');</code>
可计时的低级语句有很多,register_tick_function()
后会调用一次周期事件,每条语句后会调用一次周期事件,花括号结束时会调用一次周期事件。
注意,PHP中表达式不能用逗号隔开,不然会出现语法错误。这点与C语言不同,刚注意到。
可以用encoding指令来对每段脚本指定其编码方式。用法如下:
<code>declare(encoding = 'ISO-8859-1);</code>
return
如果是在全局范围中调用,则当前脚本文件中止运行。如果当前脚本文件是被include
或者require
,则控制交回调用文件。如果当前脚本时被include
的,则return
的值会被当作include
调用的返回值,那require
呢?
require
require
和include
几乎完全一样,除了处理失败的方式不同之外。
require
在出错时产生E_COMPILE_ERROR
级别的错误,脚本中止。而include
只产生警告E_WARNING
,脚本继续执行。
include
include
语句包含并运行指定文件,这里要注意一下指定文件的寻找次序。
- 被包含文件先按参数给出的路径寻找。如果定义了路径,
include_path
会被完全忽略。
- 如果没有给出目录(只有文件名)时则按照
include_path
指定的目录寻找。若没找到才在调用脚本文件所在目录和当前工作目录下寻找。那么问题来了,调用脚本文件所在目录和当前工作目录有什么区别呢?
- 如果最后仍未找到文件,则
include
结构会发出一条警告,require
结构会发出一个致命错误。
当一个文件被包含时,其中包含的代码继承了include
所在行的变量范围。从该处开始,被调用文件中定义的变量才可在调用文件中使用。当一个文件被包含时,语法解析器在目标文件的开头脱离PHP模式并进入HTML模式,当文件结尾回复。
对于返回值,在失败时include
返回FALSE
并且发出警告。成功的包含则返回1,除非在包含文件中另外给出了返回值。如果在包含文件中定义有函数,这些函数不管是在return
之前还是之后定义的,都可以独立在主文件中使用。
如果来自远程服务器的文件应该在远端运行而只输出结果,那用readfile()
函数更好。另一种将PHP文件包含到一个变量中的方法是用输出控制函数结合include
来捕获其输出。第一次遇到,比较陌生。下面这段代码能将脚本vars.php
中返回的内容输出。
<code><?php $string = get_include_contents(&#39;vars.php&#39;); function get_include_contents($filename) { if(is_file($filename)) { ob_start(); include $filename; $contents = ob_get_contents(); ob_end_clean(); return $contents; } return false; } echo $string;</code></code>
因为include
和require
是一种特殊的语言结构,其参数不需要括号。如果文件被包含两次,PHP会发出致命错误,因为函数已经被定义。推荐使用include_once
。
require_once
require_once
语句和require
语句完全相同,唯一区别是,PHP会检查该文件是否已经被包含过,如果是则不会再次包含。
include_once
include_once
语句和include
语句类似,唯一区别是如果该文件已经被包含过,则不会再次包含。
goto
goto
操作符用于跳转到程序的另一位置,目标位置可以用目标名称加上冒号来标记。PHP中的goto
有一定限制,目标位置只能位于同一个文件和作用域。也就是说无法跳出一个函数或类方法,也无法跳入到任何循环或者switch
结构。
(全文完)
以上就介绍了流程控制 - PHP手册笔记,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

一、Iterator和foreach的区别多态差别(foreach底层就是Iterator)Iterator是一个接口类型,他不关心集合或者数组的类型;for和foreach都需要先知道集合的类型,甚至是集合内元素的类型;1.为啥说foreach底层就是Iterator编写的代码:反编译代码:二、foreach与iterator时remove的区别先来看阿里java开发手册但1的时候不会报错,2的时候就会报错(java.util.ConcurrentModificationException)首

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php判断foreach循环到第几个的步骤:1、创建一个“$fruits”的数组;2、创建一个计数器变量“$counter”初始值为0;3、使用“foreach”循环遍历数组,并在循环体中增加计数器变量的值,再输出每个元素和它们的索引;4、在“foreach”循环体外输出计数器变量的值,以确认循环到了第几个元素。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

当我们在使用 PHP 编写网页时,有时我们需要在当前 PHP 文件中包含其他 PHP 文件中的代码。这时,就可以使用 include 或 include_once 函数来实现文件包含。那么,include 和 include_once 到底有什么区别呢?

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック



