最初からPHP - 研究ノート(c)の高度

序文

今、新たな知識がないので、私は書いていない、基本的な部分に(このビット長の序文)高度なものの、しかし、所属はまだ終わっていない、とその部分はCのように、言語に関連しているループの入れ子を、循環していますC言語の先生が言っ:.「C言語を学ぶ、言語学、他のプログラミング時間は、多くの労力となり、」当然のことながら、学習する時間をスキップするか、再び段階的に学び、その後、前に見たことのない発見されなかった理解ループ:foreach循环以下は、この単一サイクルについて説明します。

foreach文

スケールを除去することなく、標準の削除:PHPで一般に配列をループで使用foreachループは、一般に2つの方法で使用、(この文の主な用途は、ここで参照して、以下に説明します)。
(1)値だけ、標準を除去せずに

<?php
 foreach (数组 as){
//执行的任务
}
?>

(2)同時に標準値を削除

<?php
foreach (数组 as 下标 =>){
 //执行的任务
}
?>

例を記述します。

<?php
$books = array(
'2010'=>'鬼谷子',
'2011'=>'人性的弱点',
'2012'=>'狼道',
'2013'=>'莫非定律',
'2014'=>'山海经',
'2015'=>'红楼梦',
'2016'=>'西游记',
'2017'=>'水浒传',
'2018'=>'三国演义',
'2019'=>'金瓶梅嘿嘿',
);//10本书的编号和书名,用数组存储

//使用循环结构遍历数组,获取编号和书名  
foreach($books as  $v)//foreach($students as $key => $v)只需在这里把代码改成这样即可
{ 
    echo $v;//输出(打印)书名
	echo "<br />";
}
?>

配列については、後ほど紹介。コードの最後の数行を見てください。Augenstern
自己実現の件名を削除します。


注:コンパイラブラウザ:私は今から学校の裏に実行するので、私は、今、コンパイラソフトウェアのため、コードをコンパイルするために、ブラウザを使用するために使用されるソースになり、コンパイルブラウザおよびソースコード内のPHPは同じ、所与の栗ではありません、改行<br />、およびラップ内部ソースコードは\nC言語が幾分類似しています。

高度

配列

配列の簡単な紹介:
配列を定義:配列()は、
カンマ区切り(キー)の任意の数を受け入れる新しい配列を作成する)(配列を使用することができる=>(値)

array( key => value
……
)
//key可以是一个整数int,或字符串string
//value可以是任意类型的值。

最後に、セルアレイカンマを省略し
た定義の配列の例を見て:

<?php
$array = array(
    "lxj" => "lalala",
    "wkx" => "xixixi",
);
//两种方法
$array = [
    "lxj" => "lalala",
    "wkx" => "xixix",
];
?>

私は特にビットをチェックするために行った第二の方法は、公式のPHPマニュアルには、PHP 5.4から出発し、この方法は、短い配列定義の方法を使用することができることを説明しています。

キーについて

1.有効な整数列を8として格納され、そのような「8」のように、整数に変換されている含まれています。しかし、「08」がキャストされることはありません。彼は有効な進数ではありませんので。
前記フロートは整数に変換されます。小数点の後ろに廃棄されます。、丸めない丸みを帯びたことを注意、すべてではない投(ハハ、本当に廃棄物)。
3.ブール0のように真1として格納され、偽が格納され、整数に変換される
4.NULLが空の文字列に変換され、nullが実際として格納されています「」
次いで、アレイは言った:
複数のセルを定義する配列が同じキーを使用する場合、それは、前に上書きされます最後のものだけを使用するコードが表示されます。

<?php//这个代码同时反映类型强制和覆盖
$array = array(
    1 => "mary",
    "1" => "jack",
    1.5 => "rose",
    true => "lxj"
);
var_dump($array);
?>

結果は、唯一LXJが存在するであろう
Augenstern
PHPアレイは、混合されたキー、変数の両方整数配列であることができ、文字列が存在します。私は、コードを記述しないでください。何もプロモーターを挙げることができます。

アクセスアレイ

構文によって:配列名[キー]は
コードが不明であるかを説明しませんでした。コード:

<?php
$array = array(
    "lxj" => "Augenstern",
    0258 => 8520
);
var_dump($array["lxj"]);
var_dump($array[0258]);
?>

この出力は、
Augenstern
先端:括弧と中括弧は、同じ効果を達成するために、交換可能にここで使用することができます。急いで行くことにしてみてください。

追加、変更、値の削除配列

ここで再生する方法を見ることができますコードで:

<?php
$arr = array(
    "lxj" => "Augenstern",
    0258 => 8520,
);
$arr["lxj"] = "zxcv0221";//修改数组值
$arr["wkx"] = "wangkaixin";//增加一个数组值
unset($arr["wkx"]);//删除wkx这个key和其对应的值
unset($arr);//删除整个数组
?>

クリア。ここにいる学習の配列。

機能

ユーザー定義関数

どのように関数の定義:最初のPHPプラスファンクションキーワードがした関数、定義するために
以下は、擬似コード関数(実行しない)の例です。

<?php//这是一段伪代码,为了直观的介绍函数的简单定义而已。
function lxj($var_1, $var_2, $var_3,/*,,,,,,*/)
{
	echo "伪代码\n";
	return ...;
}//此代码不能运行
?>

関数名、独自の定義が、それはルールを命名、カジュアルではありません。有効な関数名は文字、数字またはアンダースコアに続く文字またはアンダースコアで始まります。
任意の有効なPHPコードは、関数の内部で見えても、他の関数やクラスの定義が含まれていることがあります。1.関数は次の関数が定義されている条件でない限り、呼び出す前に定義する必要はありません。2.関数が条件付きで定義されている場合、それは関数を呼び出す前に定義する必要があります。例を見てください:

<?php
$makelizi = true;
lizi();//lizi函数还不能调用,因为它还不存在
lxj();//但是bar函数可以调用,因为bar函数不是有条件的函数。
if($makelizi){
	function lizi()
	{
		echo "lalala\n";
	}
}
//可以调用lizi函数了,因为$makelizi的值为真了。
if($makelizi) lizi();
function lxj()
{
	echo "xixixi\n";
}
?>

このコードは、より明確に理解し、より明白であるものを、コントラスト自分自身を実行し、実行することができます。
機能スリーブのために再び機能コード

<?php
function lxj(){
	function wkx(){
		echo "nice,xiongdei\n";
	}
}
//这里不能直接调用wkx函数,因为他还不存在。可以理解为没有被定义。
lxj();
//现在就可以调用wkx函数了,因为lxj函数被执行了,使得wkx函数被定义。
wkx();
?>

発表コード内のすべてのコメント。PHPのすべての機能は、グローバルスコープを持っている、との関数内で関数呼び出し外で定義することができます。逆も可能です。PHPは関数のオーバーロードをサポートしていない、すでに宣言の関数定義、または再定義をキャンセルすることは不可能です。
注:関数名は大文字のサイズとは無関係ですが、良い習慣を開発、同じことを書いてみます。
再帰関数:
PHPはまた、再帰関数を呼び出すことができ、またはコードを見て

<?php
function lxj($f=1){
	if($f < 20){
		echo "lalala\n";
		lxj($f+1);
	}
}
lxj();
?>

再帰関数呼び出しは、スタックが現在のスクリプトの終了ように崩壊する可能性があるため、以上の100〜200層を呼び出さないように留意しなければなりません。無限の再帰はプログラミングエラーとみなすことができます。

関数のパラメータ

関数のパラメータがデフォルトパラメータの仕事作り、埋めることができない、あなたはまた、パラメータを渡すことができます。
参照コードによってパラメータを渡す方法を見てください:

<?php
function lxj(&$string)
{
	$string .= "或者其他的";
}
$str = "这是一个字符串,";
lxj($str);
echo $str;//输出结果:这是一个字符串,或者其他的[Finished in 0.1s]
?>

または直接デフォルトをオーバーライド、パラメータを渡します

<?php
function lxj($a=10,$b=20)
{
	echo $a+$b;
}
lxj(20,25);
//运行结果:45[Finished in 0.1s]
?>

これらは、配列、関数、プラス学校のC言語、少し基礎を使用するのは簡単です、学校はあまりにも難しいことではないだろう。通常は見過ごされているものを思い出させる誰もが、市場には関連の本に比べて、少なくとも、それが(強調笑)自由ですが、その公式ハンドブックを持つことになりますPHP、Pythonと他のプログラミング言語と同様に、公式ハンドブックです。

公開された26元の記事 ウォン称賛12 ビュー3218

おすすめ

転載: blog.csdn.net/qq_45836474/article/details/105001575