目次
変数名は数字で始めることはできません
注: PHP 変数名では大文字と小文字が区別されます。
ホームページ バックエンド開発 PHPチュートリアル 23. PHPの知識ポイントまとめ 基本チュートリアル パート1

23. PHPの知識ポイントまとめ 基本チュートリアル パート1

Jun 23, 2016 pm 01:10 PM

1. 基本構文

PHP スクリプトはドキュメント内のどこにでも配置できます。

PHP スクリプトは で終わります

<?php// 此处是 PHP 代码?>
ログイン後にコピー

PHP ファイルのデフォルトのファイル拡張子は「.php」です。

PHP ファイルには通常、HTML タグといくつかの PHP スクリプト コードが含まれています。

次の例は、組み込み PHP 関数「echo」を使用してテキスト「Hello World!」を出力する PHP スクリプトを含む単純な PHP ファイルです。PHP は大文字と小文字を区別しません

3。

<!DOCTYPE html><html><body><h1>我的第一张 PHP 页面</h1><?phpecho "Hello World!";?>  </body></html>
ログイン後にコピー

4. PHP 変数

変数はデータを保存するためのコンテナーとみなされます

PHP は緩やかに型付けされた言語です

上記の例では、PHP にデータ型を伝える必要がないことに注意してください。変数。

PHP は、値に基づいて変数を正しいデータ型に自動的に変換します

PHP 変数のルール:

変数は $ 記号で始まり、その後に変数名が続きます

変数名は文字またはアンダースコアで始まる必要があります

変数名は数字で始めることはできません

変数名には英数字とアンダースコア (A-z、0-9、_) のみを含めることができます

変数名は大文字と小文字が区別されます ($y と $Y は 2 つの異なる変数です)

注: PHP 変数名では大文字と小文字が区別されます。

  • PHP には 3 つの異なる変数スコープがあります:
  • local (ローカル) 関数内で宣言された変数は LOCAL スコープを持ち、関数内でのみアクセスできます。
  • global (グローバル) 関数の外で宣言された変数はグローバルスコープを持ち、関数の外でのみアクセスできます。これを行うには、グローバル キーワード
  • static (static)
  • <!DOCTYPE html><html><body>  <?php// 这是单行注释# 这也是单行注释/*这是多行注释块它横跨了多行*/echo "Hello World!";?>  </body></html>
    ログイン後にコピー

    <!DOCTYPE html><html><body><!--大小写 不敏感--><?phpECHO "Hello World!<br>";echo "Hello World!<br>";EcHo "Hello World!<br>";?>  </body></html>
    ログイン後にコピー
  • !doctype html><html><body><?php$x=5;$y=6;$z=$x+$y;echo $z;?></body></html>
    ログイン後にコピー

    を使用します。

    の出力結果上記のコードは 15 (グローバル変数の使用を示します)

    <!DOCTYPE html><html><body><?php$x=5; // global scope  function myTest() {   $y=10; // local scope   echo "<p>在函数内部测试变量:</p>";   echo "变量 x 是:$x";   echo "<br>";   echo "变量 y 是:$y";} myTest();echo "<p>在函数之外测试变量:</p>";echo "变量 x 是:$x";echo "<br>";echo "变量 y 是:$y";?></body></html>
    ログイン後にコピー

    上記のコードの出力結果は 0,1,2,3,4,5, (静的変数の使用を示します) 、関数が呼び出されるたびに、この変数に格納される情報は、関数が最後に呼び出されたときに含まれる情報です。 注: この変数は依然として関数のローカル変数です)

    5、echo ステートメントと print ステートメント

    の違い。 echo と print の間:

    echo - 複数の文字列を出力できます

    print - 1 つの文字列のみを出力でき、常に 1 を返します

    ヒント: echo は値を返さないため、print よりわずかに高速です。

    echo と print は両方とも言語構造であり、echo または echo()、:print または print() のように括弧の有無にかかわらず使用できます。 6. PHP データ型

    文字列、整数、浮動小数点数、ロジック、配​​列、オブジェクト、NULL。

    <!DOCTYPE html><html><body><?php$x=5;$y=10;function myTest() {   global $x,$y;   $y=$x+$y;} myTest(); // 运行函数echo $y; // 输出变量 $y 的新值 15?></body></html>
    ログイン後にコピー

  • 7. PHP 文字列関数

    <!DOCTYPE html><html><body><?phpfunction myTest() {   static $x=0;   echo $x;   $x++;}myTest();echo "<br>";myTest();echo "<br>";myTest();echo "<br>";myTest();echo "<br>";myTest();?>  </body></html>
    ログイン後にコピー

    上記のコードの出力は次のとおりです: 12

    ヒント: strlen() は、文字列がいつ返されるかを決定することが重要な場合に、ループやその他の関数でよく使用されます。終わります。 (たとえば、ループでは、文字列の最後の文字の後でループを停止する必要がある場合があります)。 ,

    <!DOCTYPE html><html><body><?phpecho "<h2>PHP 很有趣!</h2>";echo "Hello world!<br>";echo "我计划学习 PHP!<br>";echo "这段话", "由", "多个", "字符串", "串接而成。";$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");echo $txt1;echo "<br>";echo "Study PHP at $txt2";echo "<br>";echo "My car is a {$cars[0]}";?></body></html>
    ログイン後にコピー

    上記のコードの出力は次のとおりです: 6.

    ヒント: 上記の例の文字列「world」の位置は 6 です。 (7 ではなく) 6 の理由は、文字列の最初の文字の位置が 1 ではなく 0 であるためです。

    8. PHP 定数

    定数は変数に似ていますが、一度定義した定数は変更したり未定義にしたりすることはできません。

    定数を設定するには、define() 関数を使用します。この関数は 3 つのパラメーターを使用します:

    最初のパラメーターは定数の名前を定義します

    2 番目のパラメーターは定数の値を定義します

    オプションの 3 番目のパラメーターは、定数名では大文字と小文字が区別されます。デフォルトは false です。

    次の例は、値「Welcome to W3School.com.cn!」を持つ大文字と小文字を区別しない定数を作成します。 com.cn!":

    <!DOCTYPE html><html><body><?phpprint "<h2>PHP is fun!</h2>";print "Hello world!<br>";print "I'm about to learn PHP!";$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");print $txt1;print "<br>";print "Study PHP at $txt2";print "<br>";print "My car is a {$cars[0]}";?>  </body></html>
    ログイン後にコピー

    9. 演算子

    ① 算術演算子

    运算符 名称 例子 结果
    + 加法 $x + $y $x 与 $y 求和
    - 减法 $x - $y $x 与 $y 的差数
    * 乘法 $x * $y $x 与 $y 的乘积
    / 除法 $x / $y $x 与 $y 的商数
    % 模数 $x % $y $x 除 $y 的余数

    $x=10; $y=6;echo ($x + $y); // 输出 16echo ($x - $y); // 输出 4echo ($x * $y); // 输出 60echo ($x / $y); // 输出 1.6666666666667echo ($x % $y); // 输出 4
    ログイン後にコピー

    ②值运算符

    赋值 等同于 描述
    x = y x = y 右侧表达式为左侧运算数设置值。
    x += y x = x + y
    x -= y x = x - y
    x *= y x = x * y
    x /= y x = x / y
    x %= y x = x % y 模数

    <?php $x=10; echo $x; // 输出 10$y=20; $y += 100;echo $y; // 输出 120$z=50;$z -= 25;echo $z; // 输出 25$i=5;$i *= 6;echo $i; // 输出 30$j=10;$j /= 5;echo $j; // 输出 2$k=15;$k %= 4;echo $k; // 输出 3?>
    ログイン後にコピー

    ③字符串运算符

    运算符 名称 例子 结果
    . 串接 $txt1 = "Hello" $txt2 = $txt1 . " world!" 现在 $txt2 包含 "Hello world!"
    .= 串接赋值 $txt1 = "Hello" $txt1 .= " world!" 现在 $txt1 包含 "Hello world!"

    <?php$a = "Hello";$b = $a . " world!";echo $b; // 输出 Hello world!$x="Hello";$x .= " world!";echo $x; // 输出 Hello world!?>
    ログイン後にコピー

    ④递增递减运算符

    运算符 名称 描述
    ++$x 前递增 $x 加一递增,然后返回 $x
    $x++ 后递增 返回 $x,然后 $x 加一递增
    --$x 前递减 $x 减一递减,然后返回 $x
    $x-- 后递减 返回 $x,然后 $x 减一递减

    <?php$x=10; echo ++$x; // 输出 11$y=10; echo $y++; // 输出 10$z=5;echo --$z; // 输出 4$i=5;echo $i--; // 输出 5?>
    ログイン後にコピー

    ⑤比较运算符

    运算符 名称 例子 结果
    == 等于 $x == $y 如果 $x 等于 $y,则返回 true。
    === 全等(完全相同) $x === $y 如果 $x 等于 $y,且它们类型相同,则返回 true。
    != 不等于 $x != $y 如果 $x 不等于 $y,则返回 true。
    <> 不等于 $x <> $y 如果 $x 不等于 $y,则返回 true。
    !== 不全等(完全不同) $x !== $y 如果 $x 不等于 $y,且它们类型不相同,则返回 true。
    > 大于 $x > $y 如果 $x 大于 $y,则返回 true。
    < 大于 $x < $y 如果 $x 小于 $y,则返回 true。
    >= 大于或等于 $x >= $y 如果 $x 大于或者等于 $y,则返回 true.
    <= 小于或等于 $x <= $y 如果 $x 小于或者等于 $y,则返回 true。

    <?php$x=100; $y="100";var_dump($x == $y);echo "<br>";var_dump($x === $y);echo "<br>";var_dump($x != $y);echo "<br>";var_dump($x !== $y);echo "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a < $b);?>
    ログイン後にコピー

    ⑥逻辑运算符

    运算符 名称 例子 结果
    and $x and $y 如果 $x 和 $y 都为 true,则返回 true。
    or $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
    xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
    && $x && $y 如果 $x 和 $y 都为 true,则返回 true。
    || $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
    ! !$x 如果 $x 不为 true,则返回 true。

    ⑦数组运算符

    运算符 名称 例子 结果
    + 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
    == 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
    === 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
    != 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
    <> 不相等 $x <> $y 如果 $x 不等于 $y,则返回 true。
    !== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。

    <?php$x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 与 $y 的联合var_dump($z);var_dump($x == $y);var_dump($x === $y);var_dump($x != $y);var_dump($x <> $y);var_dump($x !== $y);?>
    ログイン後にコピー

    10、控制结构

    if else

    <?php$t=date("H");if ($t<"10") {  echo "Have a good morning!";} elseif ($t<"20") {  echo "Have a good day!";} else {  echo "Have a good night!";}?>
    ログイン後にコピー

    switch

    <?phpswitch ($x){case 1:  echo "Number 1";  break;case 2:  echo "Number 2";  break;case 3:  echo "Number 3";  break;default:  echo "No number between 1 and 3";}?></body></html>
    ログイン後にコピー

    While

    <?php $x=1; while($x<=5) {  echo "这个数字是:$x <br>";  $x++;} ?>
    ログイン後にコピー

    Do While循环

    <?php $x=1; do {  echo "这个数字是:$x <br>";  $x++;} while ($x<=5);?>
    ログイン後にコピー

    for循环

    <?php for ($x=0; $x<=10; $x++) {  echo "数字是:$x <br>";} ?>
    ログイン後にコピー

    foreach循环

    foreach 循环只适用于数组,并用于遍历数组中的每个键/值对

    foreach ($array as $value) {  code to be executed;}<br />每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
    ログイン後にコピー

    <?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) {  echo "$value <br>";}?>
    ログイン後にコピー

    11、函数

    不带参数的函数

    <?phpfunction writeMsg() {  echo "Hello world!";}writeMsg(); // 调用函数?>
    ログイン後にコピー

    带参数的函数

    <?phpfunction familyName($fname) {  echo "$fname Zhang.<br>";}familyName("Li");familyName("Hong");familyName("Tao");familyName("Xiao Mei");familyName("Jian");?>
    ログイン後にコピー

    还有一种情况,是默认的参数:

    <?phpfunction setHeight($minheight=50) {  echo "The height is : $minheight <br>";}setHeight(350);setHeight(); // 将使用默认值 50setHeight(135);setHeight(80);?>
    ログイン後にコピー

    函数返回值:

    <?phpfunction sum($x,$y) {  $z=$x+$y;  return $z;}echo "5 + 10 = " . sum(5,10) . "<br>";echo "7 + 13 = " . sum(7,13) . "<br>";echo "2 + 4 = " . sum(2,4);?>
    ログイン後にコピー

    12、数组

    数组能够在单独的变量名中存储一个或多个值。

    <?php$cars=array("Volvo","BMW","SAAB");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>
    ログイン後にコピー

    在 PHP 中,有三种数组类型:

  • 索引数组 - 带有数字索引的数组
  • 关联数组 - 带有指定键的数组
  • 多维数组 - 包含一个或多个数组的数组
  • ①索引数组

    索引是自动分配的(索引从 0 开始):

    $cars=array("Volvo","BMW","SAAB");
    ログイン後にコピー

    或者也可以手动分配索引:

    $cars[0]="Volvo";$cars[1]="BMW";$cars[2]="SAAB";<br /><br /><br />获取数组长度
    ログイン後にコピー

    ログイン後にコピー

    遍历数组

    ";}?>
    ログイン後にコピー

    ②关联数组

    关联数组是使用您分配给数组的指定键的数组。

    有两种创建关联数组的方法:

    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    ログイン後にコピー

    或者:

    $age['Peter']="35";$age['Ben']="37";$age['Joe']="43";
    ログイン後にコピー

    <?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");echo "Peter is " . $age['Peter'] . " years old.";?>
    ログイン後にコピー

    遍历:

    <?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");foreach($age as $x=>$x_value) {  echo "Key=" . $x . ", Value=" . $x_value;  echo "<br>";}?>
    ログイン後にコピー

     

    ③多维数组

     

    13、排序

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序
  •  

    14、超全局变量

    超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。

    PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

    这些超全局变量是:

  • $GLOBALS  引用全局作用域中可用的全部变量
  • $_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
  • $_REQUEST  用于收集 HTML 表单提交的数据。
  • $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量
  • $_GET 可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
  •  

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

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

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

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

    PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

    JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

    JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

    PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

    記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

    フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

    記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

    PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

    PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

    フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

    この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

    ReactPhpの非ブロッキング機能は何ですか?ブロッキングI/O操作を処理する方法は? ReactPhpの非ブロッキング機能は何ですか?ブロッキングI/O操作を処理する方法は? Apr 01, 2025 pm 03:09 PM

    ReactPhpの詳細な解釈の非ブロッキング機能の公式紹介は、多くの開発者の質問を呼び起こしました。

    See all articles