ホームページ  >  記事  >  バックエンド開発  >  PHP関数の定義と関数と参照の使用法

PHP関数の定義と関数と参照の使用法

高洛峰
高洛峰オリジナル
2016-11-29 11:57:301462ブラウズ

関数の定義: 1. 関数は名前付き、2. 独立したコードセグメント、3. 関数は特定のタスクを実行、4. 関数を呼び出すプログラムに値を返すことができます。

関数の利点: 1.プログラムの再利用性の向上、2. プログラムの保守性の向上、3. 開発効率の向上、4. ソフトウェアの信頼性の向上、5. プログラムの複雑さの制御

関数の宣言:

関数。 name () {

}

関数 関数名 (パラメータ 1、パラメータ 2、パラメータ...)

{

関数本体

}

関数 関数 関数名 ()

{

関数本体;

戻り値;

}

関数 関数名 (パラメータリスト...)

{

関数本体;

戻り値

}

注:

1.

2. 関数名は変数と同じで、 aaa bbb ccc aaaBbbCcc (最初の単語は小文字) です。後続の単語は大文字になります)

3. 宣言時に関数は同じ名前を持つことはできません

4、関数にパラメータを渡すことで関数の動作を変更できます

仮パラメータ: 関数を宣言するとき、宣言されたパラメータは変数です, 複数のパラメータは区切られています

実パラメータ: 関数呼び出し時に仮パラメータ値が渡されます( データ(変数でも可)

5. 戻り値がない場合はプロセスと呼ばれます

6. return ステートメントを使用してデータを返します

7. return ステートメントに到達すると、関数は終了します。このステートメントの後にコードを記述しないでください。関数名の役割は次のとおりです。

1. 関数を呼び出して関数の実行を開始します

2. 関数にデータを渡すことができます

3. 関数名は戻り値です

PHP 関数: すべての関数はキーワード「function()」で始まります。

関数に名前を付ける - 関数名は文字またはアンダースコアで始まります。左中括弧の後の部分が関数のコードです。関数コードに「}」を追加します。

{

echo "David Yang" }

writeMyName()> body>

今度は、PHP スクリプトでこの関数を使用します:

function writeMyName()

{

echo "デビッド ヤン" }

echo "Hello world!
"

echo "私の名前は "; ;

echo "。
そうです、";

writeMyName();

html>

//上記のコードの出力:

Hello world!

そうです、David Yang です

Function Reference &:

function &c()

{

}

&c どういう意味ですか、この私の長所と短所は何ですか

function c(&$var) の違いがわかりません

{

$GLOBALS['MALL' ] =&$var;

}

&$var と通常の値の受け渡しは、関数内で $var の値を変更できます。例:

function c($var) {

$var=$var+1;

}

$var=10;

c($var ; 質問、2 つの配列の交差部分を見つける問題は、array_intersect()、array_inersect_assoc、array_intersect_key を使用して実現できます。 array_intersect() 関数は、2 つの数値の交差部分を見つけて、交差部分に共通の要素を持つ配列を返します (配列のみが比較の価値があります)。array_intersect_assoc() 関数は、キー値を値にバインドして、 array_intersect_key() 関数は 2 つの配列のキー値を比較し、キー値の交差部分の配列を返します

ただし、以下に示すように、いくつかの小さな問題も発生します。 、例:

$array = array("red"=>"レッド","green"=>"red4","Red15"=>"レッド",7=>"レベル","幅"=> "赤","azzzz1"=>"アート","ピーク"=>158);         

$array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red",7=>"レベル","幅"=> ;"赤","azzzz"=>"アート","ピーク"=>158);         

$num = array_intersect($array,$array1);         

print_r ($num);        echo "
";        

$num = array_intersect_assoc($array,$array1);         

print_r($num);        echo "
"; 

//开源代码phpfensi.com

$num = array_intersect_key($array,$array1);         

print_r ($num);     

?> 

//运行结結果:

Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [azzzz1] => art [ピーク] => 158 ) 配列 ( [赤15] => 赤 [7] => レベル [幅] => 赤 [ピーク] => 158 ) 配列 ([赤] => 赤 [赤15] ] => 赤 [7] => レベル [幅] => 赤 [ピーク] => 158)

1.array_intersect() 関数実行の比例:「Red」と「Red2」を比較すると「Red」が返されますが、その反動は「Red2」を返しません;

2.array_intersect_assoc() 関数は、数集合と配列を比較し、array_intersect は存在​​しません。場合、

3.array_intersect_key() 関数は、2 つの数グループの比較に使用され、返される値だけではなく、返される数グループの値です

例:

$a = array(

'a' => '你好',

'b' => 'bb'

); 

//header('Content-Type:application/json; charset=UTF-8'); 

echo json_encode($a)."n"; 

function replace_unicode_escape_sequence($match)

{

return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE'); 

}

echo preg_replace_callback('/u([0-9a-f]{4})/i','replace_unicode_escape_sequence',json_encode($a))."n"; 

?>

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