PHPの基礎知識メモ共有

小云云
小云云オリジナル
2018-05-30 14:28:282941ブラウズ

1. 定義

PHP スクリプトはサーバー上で実行され、純粋な HTML 結果をブラウザに送り返します。この記事では、PHP の基礎知識を中心にメモしておきますので、お役に立てれば幸いです。

2. 基本構文

<span style="font-size: 14px;"><?phpecho "Hello World!";?><br/></span>
注意事項
  1. PHP ステートメントはセミコロン (;) で終わります

  2. の最後の行にセミコロンを使用する必要はありません。のPHP コードブロック

1. コメント

PHP には 3 つのコメントメソッドがあります
<span style="font-size: 14px;">76c82f278ac045591c9159d381de2c57100db36a723c770d327fc0aef2ce13b16c04bd5ca3fcae76e30b72ad730ca86d095a8525499549fa892a87d025984cb436cc49f0c466276486e50c850b7e495673a6ac4ed44ffec12cee46588e518a5e<br></span>

2. すべてのユーザー定義関数、クラス、キーワード (if、 else、echo など) ) は大文字と小文字を区別しません

  • すべての変数は大文字と小文字を区別します

  • 1.PHP には変数を作成するコマンドがありません2。ルール

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


変数名は文字またはアンダースコアで始める必要があります
  • 変数名は数字で始めることはできません
  • 変数名のペア 大文字と小文字が区別されます ($y と $Y は 2 つの異なる変数です)
  • 3.PHP には 3 つの異なる変数スコープがあります: ローカル (ローカル) グローバル (グローバル) 静的 (静的)
  • 関数の外で宣言された変数はグローバルスコープを持ち、関数の外でのみアクセスできます。

関数内で宣言された変数は LOCAL スコープを持ち、関数内でのみアクセスできます。
  • 関数内の外部変数にアクセスする方法
  • <span style="font-size: 14px;">//使用 global 关键词<br/><?php<br/>$x=5;<br/>$y=10;<br/>function myTest() {<br/>  global $x,$y;  <br/>  $y=$x+$y;<br/>}<br/><br/>myTest();<br/>echo $y; // 输出 15?>//PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。<br/><?php<br/>$x=5;<br/>$y=10;<br/>function myTest() {<br/>  $GLOBALS[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];<br/>} <br/><br/>myTest();echo $y; // 输出 15?><br/></span>

    4. 出力ステートメントechoとprint

構文の違い
<span style="font-size: 14px;"><?php  <br/>$a=&#39;hello &#39;;$b=&#39;php world!&#39;;echo $a,$b,&#39;<br />&#39;;//echo 可以用逗号分隔字符串变量来显示  <br/>print $a.$b.&#39;<br />&#39;;//而print不能使用逗号,只能用点号分隔,    <br/>?><br/></span>

echo コマンドは同じですprintコマンドと同様、違いはありません
echo関数とprint関数には違いがあります
  1. echo() 戻り値はありません、echoコマンドと同じです
  2. print() 戻り値あり、成功すれば1を返す、falseを返す、0を返す

5. 演算子(JSとのみ異なる)

接続..=比較しますa8093152e673feb7aba1828c43532094$x と $y または $x と $y の少なくとも 1 つが true の場合、true を返します。 $x と $y のうちの 1 つだけが true の場合、 の場合、!ではありません配列演算子
記号 説明



連結 $txt1 = "こんにちは" $txt2 = $txt1 ."世界!" $txt2 には「Hello world!」が含まれています
連結代入 $txt1 = "Hello" $txt1 .= "world!" $txt1 には "Hello world!" が含まれています



$x a8093152e673feb7aba1828c43532094 if $ の場合 x が$y と等しくない場合は、true を返します
$x の両方が true の場合、true を返します。または $y

$x && $y
&& を返します。 True、| $ x ||
!$ x $xがtrueでない場合にtrueを返します
+ Union $x + $y $x と $y の和集合 (ただし、重複キーは上書きされず、同じキーが最初のキーを保持します)
== Equal $x == $y $x と $y が同じキー/値ペアを持つ場合に true を返します。
=== Congruent $x === $y $x と $y が同じキー/値ペア、同じ順序、同じ型を持つ場合、その後 true を返します。
!= 等しくない $x != $y $x が $y と等しくない場合に true を返します。
a8093152e673feb7aba1828c43532094 等しくない $x a8093152e673feb7aba1828c43532094 $y $x が $y と等しくない場合に true を返します。
!== 合同ではありません $x !== $y $x が $y と完全に異なる場合に true を返します。

6.判断与循环

判断:
  • if…else…语句

  • switch语句

循环:
  • for循环

  • foreach循环

foreach循环示例
<span style="font-size: 14px;"><?php <br/>$colors = array("red","green","blue","yellow"); <br/>foreach ($colors as $value) {  <br/>echo "$value <br>";<br/>}<br/>?>//输出 red 、 green 、 blue 、 yellow<br/></span>

7.引用

PHP引用有两种方式:include 与 require

include 和 require 语句是相同的,除了错误处理方面:
  • require 会生成致命错误(E_COMPILE_ERROR)并停止脚本

  • include 只生成警告(E_WARNING),并且脚本会继续

语法:

<span style="font-size: 14px;">include &#39;filename&#39;<br/></span>

<span style="font-size: 14px;">require &#39;filename&#39;<br/></span>

8.超全局变量

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

$GLOBALS — 引用全局作用域中可用的全部变量
<span style="font-size: 14px;"><?php $x = 75; <br/>$y = 25;function addition() { <br/>  $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; <br/>}<br/><br/>addition(); <br/>echo $z; <br/>?><br/></span>
PHP $_SERVER

$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

要素 説明
$_SERVER[‘PHP_SELF’] 現在実行中のスクリプトのファイル名を返します。
$_SERVER[‘GATEWAY_INTERFACE’] サーバーが使用する CGI 仕様のバージョンを返します。
$_SERVER[‘SERVER_ADDR’] スクリプトが現在実行されているサーバーの IP アドレスを返します。
$_SERVER[‘SERVER_NAME’] スクリプトが現在実行されているサーバーのホスト名を返します (www.w3school.com.cn など)。
$_SERVER[‘SERVER_SOFTWARE’] サーバー識別文字列 (Apache/2.2.24 など) を返します。
$_SERVER['SERVER_PROTOCOL'] ページがリクエストされたときの通信プロトコルの名前とバージョンを返します (たとえば、「HTTP/1.0」)。
$_SERVER[‘REQUEST_METHOD’] ページへのアクセスに使用されるリクエスト メソッド (POST など) を返します。
$_SERVER[‘REQUEST_TIME’] リクエストが開始されたときのタイムスタンプを返します (例: 1577687494)。
$_SERVER[‘QUERY_STRING’] このページがクエリ文字列を介してアクセスされた場合、クエリ文字列を返します。
$_SERVER[‘HTTP_ACCEPT’] 現在のリクエストからリクエストヘッダーを返します。
$_SERVER['HTTP_ACCEPT_CHARSET'] 現在のリクエストから Accept_Charset ヘッダーを返します (例: utf-8、ISO-8859-1)
$_SERVER[' HTTP_H OST' ] 現在のリクエストから Host ヘッダーを返します。
$_SERVER[‘HTTP_REFERER’] 現在のページの完全な URL を返します (すべてのユーザー エージェントでサポートされていないため信頼できません)。
$_SERVER[‘HTTPS’] 安全なHTTPプロトコルを通じてスクリプトをクエリするかどうか。
$_SERVER[‘REMOTE_ADDR’] 現在のページを閲覧しているユーザーの IP アドレスを返します。
$_SERVER[‘REMOTE_HOST’] 現在のページを閲覧しているユーザーのホスト名を返します。
$_SERVER[‘REMOTE_PORT’] ユーザーのマシン上の Web サーバーへの接続に使用されるポート番号を返します。
$_SERVER[‘SCRIPT_FILENAME’] 現在実行中のスクリプトの絶対パスを返します。
$_SERVER[‘SERVER_ADMIN’] この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメーターを指定します。
$_SERVER[‘SERVER_PORT’] Web サーバーによって使用されるポート。デフォルト値は「80」です。
$_SERVER[‘SERVER_SIGNATURE’] サーバーのバージョンと仮想ホスト名を返します。
$_SERVER[‘PATH_TRANSLATED’] 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。
$_SERVER[‘SCRIPT_NAME’] 現在のスクリプトのパスを返します。
$_SERVER[‘SCRIPT_URI’] 現在のページの URI を返します。
PHP $_REQUEST

PHP $_REQUEST 用于收集 HTML 表单提交的数据。

<span style="font-size: 14px;"><html><body><form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>"><br/>Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_REQUEST[&#39;fname&#39;]; <br/>echo $name; <br/>?></body></html><br/></span>

三、数据类型

1.字符串函数

PHP strlen() 函数

strlen() 函数返回字符串的长度,以字符计。

<span style="font-size: 14px;"><?phpecho strlen("Hello world!");?>//结果输出12(多个连续的空格不会被看作同一个)<br/></span>
PHP strpos() 函数

strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。

<span style="font-size: 14px;">44ea3bf4a60d9637fbf709781f77d316//返回 6<br></span>

2.常量及设置常量

  • 常量是单个值的标识符(名称)。在脚本中无法改变该值。

  • 有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

  • 与变量不同,常量贯穿整个脚本是自动全局的。

    设置常量函数 define()
  • 首个参数定义常量的名称

  • 第二个参数定义常量的值

  • 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。

<span style="font-size: 14px;"><?phpdefine("PAI", "3.14", true);echo pai;?>//创建一个对大小写不敏感的常量<br/></span>

3.数组

PHP有三种数组形式:
  • 索引数组 - 带有数字索引的数组

  • 关联数组 - 带有指定键的数组

  • 多维数组 - 包含一个或多个数组的数组

数组相关函数
  • array()  用于创建数组

  • count() 用于得出数组长度

  • sort() - 以升序对数组排序

  • rsort() - 以降序对数组排序

  • asort() - 根据值,以升序对关联数组进行排序

  • ksort() - 根据键,以升序对关联数组进行排序

  • arsort() - 根据值,以降序对关联数组进行排序

  • krsort() - 根据键,以降序对关联数组进行排序

关联数组的创建与循环
<span style="font-size: 14px;"><?php //关联数组使用foreach循环<br/>$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");<br/>foreach($age as $x=>$x_value) {  <br/>echo "Key=" . $x . ", Value=" . $x_value;  <br/>echo "<br>";<br/>}?><br/></span>
多维数组的创建
<span style="font-size: 14px;">$cars = array<br/>  (  array("Volvo",22,18),  array("BMW",15,13),  array("Saab",5,2),  array("Land Rover",17,15)<br/>  );<br/></span>

四、功能函数

1.日期函数

PHP Date() 函数

语法:date(format,timestamp)

  1. PHP Date() 函数把时间戳格式化为更易读的日期和时间。

  2. format格式:

  • d - 表示月里的某天(01-31)

  • m - 表示月(01-12)

  • Y - 表示年(四位数)

  • h - 带有首位零的 12 小时小时格式

  • i - 带有首位零的分钟

  • s - 带有首位零的秒(00 -59)

  • a - 小写的午前和午后(am 或 pm)

  • 1 - 表示周里的某天

  • 其他字符,比如 “/”, “.” 或 “-” 也可被插入字符中,以增加其他格式

<span style="font-size: 14px;"><?php//不传第二个参数,默认是目前的时间。echo "今天是 " . date("Y/m/d") ;?><br/></span>
PHP mktime()

mktime() 函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:mktime(hour,minute,second,month,day,year)。

相关推荐:

PHPの基礎知識のまとめ(初心者必見)

PHPの基礎知識をマスターする~4種類の区切り文字

PHPの基礎知識のまとめ、これを学べばすぐになれる!シニア PHP プログラマー

以上がPHPの基礎知識メモ共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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