ホームページ  >  記事  >  バックエンド開発  >  PHPコードの実行順序について教えてください

PHPコードの実行順序について教えてください

WBOY
WBOYオリジナル
2016-06-23 13:31:581174ブラウズ

次の質問に答えていただけませんか。ありがとうございます。
コードのセットをオンラインでダウンロードしました。次の admin.php ファイル:
次のコードの場合、コードはどのように実行されますか?
たとえば、($device == 'ipad') の場合、次のコードはいつ実行されますか?

つまり、次の意味を表現したいのです:
php コードでは、次のような状況が時々見られます:
それで、いつ if (xxw) xxxcc; まで実行されますか?
関数 function xxxc () が実行されない場合、if (xxw) xxxcc; まで実行されますか? (明確になったかどうかはわかりません)
b551d3f64c516d7e2d675ab52c4bd9be


//------------------------------------- --- -------

2c2bd46d8384a4c4aeb385c12d1808c0HavePermissions($pid))
return true;
SetLocation(-1, '権限が不足しています') }


if ($device == 'ipad ')
SetMe('abc', 'width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no');

SetTitle('バックエンド管理' );

?>
もう一度返信してください。

実際に私が言いたいのは:

function HavePermissions($pid){ . 。 。 。 。
if ($GLOBALS['user']->HavePermissions($pid))

return true;

SetLocation(-1, 'アクセス許可が不足しています')

上記の関数が実行されない場合、次のコードは実行されないでしょうか?

if ($device == 'ipad')

SetMe('abc', 'width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no') ;

SetTitle('バックエンド管理');

function HavePermissions($pid){
は関数定義であり、実行順序とは関係ありません


function HavePermissions($pid){
は関数定義です実行順序とは関係ありません


xuzuning モデレーターさん、ご返信ありがとうございます

私も確認したいのですが、あなたの意味によると、次のコードはこのように理解できますか?

次のコードの実行結果は次のようになります。
$act = Get('act'); --》 if (!isset($act{0})){} --> if ($ device == ' ipad') -> SetTitle('Background Management');


つまり、関数 HavePermissions() を実行する代わりに、コードの実行に直接ジャンプします ($device == 'ipad')

7de4438ac7c18901c1bc4f162b7d5becHavePermissions($pid))
return true;
SetLocation(-1, 'アクセス許可が不足しています')
}

if ($device == 'ipad' )
SetMe('abc', 'width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no');

SetTitle('バックエンド管理'); ;

?>

関数 HavePermissions() が実行されないということではありません
関数 HavePermissions() 自体は実行順序に影響を与えないということです

関数 HavePermissions() が実行されない場合
次に、後 (または前) に HavePermissions() がある場合、混乱しませんか?

それは関数 HavePermissions() が実行されないということではありません
関数 HavePermissions() 自体は実行順序に影響を与えないということです

関数 HavePermissions() が実行されない場合
HavePermissions() の後 (または前) は混乱しませんか?



xuzuning モデレーターさん、返信ありがとうございます

まだ理解できない点があり、質問したいことがあります。

たとえば、関数 abc が定義されていますが、この関数 abc は admin.php ページでは呼び出されません。言い換えれば、定義されただけで使用されていません。

それでは、次のコードの実行順序はこのように理解できますか?

$act = Get('act'); if (!isset($act{0})){ } --》 if ($device == 'ipad')


つまり、これを実行した後if ( !isset($act{0})){ } は if ($device == 'ipad') に直接ジャンプします。そして、この関数 function abc() は実行されていません
このように理解できますか?

require 'Service/Init.php';

$act = Get('act')

if (!isset($act{0})){
$act = 'pda' ;

関数 abc($pid){
. 。 。 。 。

}

if ($device == 'ipad')
SetMe('abc', 'width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable =no');

SetTitle('バックエンド管理');

?>
定義は定義、実行は実行です。これらは 2 つの異なる概念です

自分のアイデアを台無しにしないでください

php では、最初に呼び出され、最後に定義されるコードを書くことができます
しかし、これは、php が内部的に「最初に定義し、後で使用する」ことを保証する原則です
また、つまり、実行中にすべての定義が実行されます

定義は定義、実行は実行です。これらは 2 つの異なる概念です

自分のアイデアを台無しにしないでください

php では、最初に呼び出され、最後に定義されるコードを書くことができます
しかし、これは、php が内部的に「最初に定義し、後で使用する」ことを保証する原則です
また、つまり、実行期間中にすべての定義が実行されました


xuzuning モデレーター、返信ありがとうございます

最後にもう 1 つ質問したいのですが、私は PHP の初心者なので、もう一度返信してください。混乱。よろしくお願いします

$act = Get('act');

if (!isset( $act{0} )){
$act = 'pda' }

in if ステートメント isset($act{0 }) この文をどのように理解すればよいでしょうか?特に 0 コード $act{0} は何を意味しますか?
isset($act{0}) は、act() の位置 0 の変数が定義され、存在するかどうかを示します。本当にそれは意味がないと思います。




isset($act{0}) $act の 0 番目の位置が定義され、存在するかどうかを示します

$a = '';var_dump(isset($a{0}));
bool(false)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。