PHP 配列宣言、トラバーサル、配列グローバル変数_PHP チュートリアル
phpチュートリアルの配列宣言、トラバーサル、配列グローバル変数
[php]
/*
※1. 配列の概要
※1. 配列の本質:変数の集合を管理・操作する、バッチ処理
※2. 配列は複合型(複数格納可能)です
* 3. 配列には、任意の長さ、任意のタイプのデータを格納できます
* 4. 配列は他の言語のデータ構造 (リンク リスト、キュー、スタック、コレクション クラス) の機能を完了できます
*
*
*
* 2. 配列の分類
※配列には複数の単位があります(単位を要素と呼びます)
※各要素(添字[キー]と値)
※要素に個別にアクセスする場合は添字(キー)で要素にアクセスします
※1. 1次元配列、2次元配列、3次元配列。 。 。多次元配列
* (配列の配列は、他の配列が配列に格納されることを意味します)
※2. PHPには2種類の配列があります
※インデックス配列:添字が連番の整数のインデックスです
* 連想配列: 添字はインデックスとなる文字列です
*
※添え字は2種類(整数、文字列)のみです
*
*
* 3. 配列の複数の宣言方法
*
* 1. value ステートメントを配列要素に直接代入します
* インデックス添字が指定されていない場合、シーケンシャルインデックスは 0 から始まります
* インデックスの添字が指定されている場合、次の添字は最大のものから 1 ずつ増加します
* 前の添字が後で出現する場合、代入の場合は前の要素が再代入されます
※宣言を混在させる場合、インデックスと関連付けは相互に影響しません(インデックス添字の宣言は影響を受けません)
*
* 2. array()関数宣言を使用します
* デフォルトはインデックス配列です
* 連想配列とインデックス付き配列の添字を指定する場合は、key => value を使用します
※複数のメンバー間は「,」で区切ります
* 3. 他の関数宣言を使用する
*
*
*
*
*/
//インデックス配列
$user[0]=1;//ユーザーのシリアル番号
$user[1]="zhangsan";//ユーザー名
$user[2]=10;//年齢
$user[3]="nan";//性別
エコー '
'; print_r($user); エコー ''; //連想配列
$ユーザー["id"]=1; $user["名前"]="張さん"; $user["年齢"]=10; $ユーザー["セックス"]; $user["age"]=90;//割り当て
echo $user["name"];//出力
//array() を使用して配列を宣言します
$user=array(1,"ジャンサン",10,"ナン"); //array() を使用して連想配列を宣言します
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); //複数のユーザー情報レコードをテーブルに保存するための多次元配列(複数レコード)を宣言します
$user=array(
//この行を呼び出すには $user[0] を使用します (このレコード内の名前 $user[0][1] を呼び出すなど)
array(1,"張三",10,"ナン"),
//このレコード内の名前 $user[1][1] を呼び出すなど、$user[1] を使用してこの行を呼び出します
配列(2,"lisi",20,"nv")
); //配列は複数のテーブルを保存し、各テーブルには複数のレコードがあります
$info=array(
"ユーザー"=>array(
array(1,"張三",10,"ナン"),
配列(2,"lisi",20,"nv")
)、
"スコア"=>array(
配列(1,90,80,70)、
配列(2,60,40,70)
)
); echo $info["score"][1][1];//出力 60,
?>
配列スーパーグローバル変数
/* 事前定義された配列:
* 自動グローバル変数 --- スーパーグローバル配列
*
※1. WEBサーバー、クライアント、動作環境、ユーザー入力のデータが含まれます
* 2. これらの配列は特別です
* 3. 自動的にグローバルに有効になり、これらの配列を直接使用できます
※4. これらの配列はユーザーがカスタマイズすることはできませんが、これらの配列の操作方法は自作配列の操作方法と同じです
* 5. これらの配列は関数内で直接使用できます
*
* $_GET //URL リクエストを通じてスクリプトに送信された変数
* $_POST //HTTP POST メソッド経由でスクリプトに送信される変数
* $_REQUEST //GET、POST、COOKIE メカニズムを介してスクリプトに送信される変数
* $_FILES //http post メソッド ファイルのアップロードを通じてスクリプトに送信された変数
* $_クッキー
* $_セッション
* $_ENV //実行環境によってスクリプトに送信された変数
* $_SERVER //変数は WEB サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます
* $GLOBALS //現在のスクリプトで有効な変数がここにある限り、配列のキー名はグローバル スクリプトの名前になります
*
*
*/
// スーパーグローバル配列は関数内で直接呼び出すことができます
$arr=array(10,20);//一般的な配列
$_GET=array(50,90);//スーパーグローバル配列
関数デモ(){
global $arr;//グローバル変数を呼び出すには、まず
をインクルードする必要があります print_r($arr); Print_r($_GET);//
を含めずにスーパーグローバル配列を直接呼び出します }
?>
//渡された値を変数として直接使用します。これは、php.ini 設定ファイルで register_global=on の場合に便利です。
echo $username."
"; echo $email."
"; echo $page."
"; //最も安定した値のメソッド
echo $_GET["ユーザー名"]."
"; echo $_GET["メール"]."
"; echo $_GET["ページ"]."
"; ?>
これは $_GET テストです <フォームアクション="demo.php"メソッド="ポスト"> ユーザー名: パスワード: フォーム> print_r($_GET);//
を受信できません print_r($_POST);//この方法でのみ
を受け取ることができます ?>
//$_ENV の使用法
echo'
'; プリント_r($_ENV); エコー''; // 現在の環境を表示
// 個別にトラバースすることもできます
?>
// $GLOBALS スーパーグローバル配列を使用して関数内でグローバル変数を呼び出します
$a=100; $b=200; $c=300; 関数デモ()
{
//グローバル変数を直接呼び出す
echo $GLOBALS["a"]."
"; echo $GLOABLS["b"]."
"; echo $GLOABLS["c"]."
";
}
?>
配列トラバーサル
/* 配列トラバーサル
*
* 1. for ステートメントを使用して配列をループします
※1.他言語(こちらのみ)
* 2. この方法は PHP では推奨されない方法です
* 3. 配列はインデックス配列である必要があり、添え字は連続している必要があります。
* (インデックス配列の添字は不連続である可能性があり、配列と連想配列、これら 2 つを横断することはできません)
*
* 2. foreach ステートメントを使用して配列をループします
* foreacho(配列変数を変数値として){
* //ループ本体
* }
※1. ループ回数は配列の要素数によって決まります
* 2. 各サイクルは配列内の要素を後続の変数に割り当てます
*
* foreach(添字変数としての配列変数=>値変数){
* }
*
*
* 3.while() list() each() 組み合わせループは配列を走査します
*
* each() 関数:
※1.パラメータとして配列が必要です
* 2. 返されるものも配列です
* 3. 返される配列には 4 つの添字 (固定) 0、1、key、value が含まれます
* 0 と key 添字は現在のパラメータの配列要素のキーです
※1と値の添字は現在のパラメータの配列要素の値です
* 4. デフォルトでは、現在の要素が最初の要素です
* 5. 実行するたびに、現在の要素が後ろに移動します
* 6. 最後の要素に到達した後にこの関数を再度実行すると false を返します
* list() 関数:
* 1. list()=array(); この関数には配列を割り当てる必要があります
* 2. 配列の要素数は list() 関数のパラメータの数と同じである必要があります
* 3. list()関数の各パラメータに配列の各要素の値が代入され、list()が各パラメータを変数に変換します
* 4.list() はインデックス配列のみを受け入れることができます
* 5. インデックスの添え字の順にパラメータに値を代入します
*
*
*
*/
//for ステートメントは配列を走査します
$user=array(1,"張さん",40,"ナン"); for($i=0;$i {
echo "$user[{$i}]=".$user[$i]."
"; }
// foreach を使用します
$user=array(1,"ジャンサン",40,"ナン"); foreach($user as $val)//$val はカスタム変数です
{
echo $val."
";//出力は添え字とは何の関係もありません
}
foreach($user as $key=>$val)//$val $key はすべてカスタム変数です
{
echo $key."=====>".$val."
"; }
//foreach は多次元配列を走査します
$info=array(
"ユーザー"=>array(
//$user[0]
array(1, "ザンサン", 10, "ナン"),
//$user[1][1]
array(2, "lisi", 20, "nv"), //$user[1]
//$user[2]
array(3, "王武", 30, "ナン")
)、
"スコア"=>array(
配列(1, 100, 90, 80)、
配列(2, 99, 88, 11)、
配列(3, 10, 50, 88)
)、
"接続"=>array(
配列(1, '110', 'aaa@bbb.com')、
配列(2, '120', 'bbb@ccc.com')、
配列(3, '119', 'ccc@ddd.com')
)
); foreach($info as $tableName=>$table)
{
echo '<テーブル align="center" width="500" border="1">'; echo '
'.$tableName.'
{
エコー '
{
echo '
エコー '
エコー 'テーブル>'; }
// each() の使用法
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); $a=each($user);//Array ( [1] => 1 [value] => 1 [0] => id [key] => id ) デフォルトは最初の値です要素
プリント_r($a); $b=それぞれ($ユーザー); print_r($b);//Array ( [1] => zhangsan [value] => zhangsan [0] => name [key] => name ) 実行されるたびに 1 つ前にトラバースします
$c=それぞれ($ユーザー); print_r($c);//Array ( [1] => 10 [値] => 10 [0] => 年齢 [キー] => 年齢 )
$d=それぞれ($ユーザー); print_r($d);//Array ( [1] => nan [値] => nan [0] => 性別 [キー] => 性別 )
$e=それぞれ($ユーザー); var_dump($e);//bool(false) 要素がない場合は値が返されます
//each() はトラバース中に連携します
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); while($arr=each($user))
{
//echo $arr[0]."====>".$arr[1]."
";//キー (添え字) と 0,1 までの値を表示します
echo $arr["key"]."===>".$arr["value"]."
";//key, value を通じてキーの値を表示します
}
//list()関数の使い方
list($name,$年齢,$性別)=array("張さん",10,"nnnnn"); echo $name."
"; echo $age."
"; echo $sex."
"; //別の使い方
list(,,$sex)=array("張さん",10,"nnnnn"); echo $sex."
";//性別を変数のみに変換します
//IP判定
$ip="192.168.1.128"; list(,,,$d)=explode(".",$ip);//explode は . で区切られたことを意味し、配列を返します
echo $d;//128 を取り出します
//List() はインデックス配列の例のみを受け取ることができます
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); list($key,$value)=each($user);//Array( [1]=>1 [0]=>id) インデックス添字の順にリスト内のパラメータに値を割り当てます、つまり 0 キーが最初で、次に 1 の値があります
echo $key."--->".$value
//list() each() を組み合わせて使用しながら
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); while(list($key,$value)=each($user))
{
echo $key."--->".$value."
"; }
//複数のループ後に 1 回だけ表示する解決策
//配列の内部ポインタ制御関数を使用します
//next(array); 配列ポインタは次の配列に移動します
//prev(array); 配列ポインタを前の配列に移動します
//reset(array); 配列ポインタを最初の配列に移動します (リセット)
//end(array); 配列ポインタを最後の配列に移動します
//current(array); 現在の要素、つまり配列ポインタが指す要素の値を取得します。
//key(array); 現在の要素のキー値 (添え字) を取得します
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan"); while(list($key,$value)=each($user))
{
echo $key."--->".$value."
"; }
// ここで、配列ポインタを次の最初のループに移動して出力します
//リセット($user)
while(list($key,$value)=each($user))// each() は最後のものに対して false を返すため、ループが直接飛び出します
{
echo $key."--->".$value."
"; }
while(list($key,$value)=each($user))// each() は最後のものに対して false を返すため、ループが直接飛び出します
{
echo $key."--->".$value."
"; }
echo current($user)."=====>".key($user); ?>
/*
※1. 配列の概要
※1. 配列の本質:変数の集合を管理・操作する、バッチ処理
※2. 配列は複合型(複数格納可能)です
* 3. 配列には、任意の長さ、任意のタイプのデータを格納できます
* 4. 配列は他の言語のデータ構造 (リンク リスト、キュー、スタック、コレクション クラス) の機能を完了できます
*
*
*
* 2. 配列の分類
※配列には複数の単位があります(単位を要素と呼びます)
※各要素(添字[キー]と値)
※要素に個別にアクセスする場合は添字(キー)で要素にアクセスします
※1. 1次元配列、2次元配列、3次元配列。 。 。多次元配列
* (配列の配列は、他の配列が配列に格納されることを意味します)
※2. PHPには2種類の配列があります
※インデックス配列:添字が連番の整数のインデックスです
* 連想配列: 添字はインデックスとなる文字列です
*
※添え字は2種類(整数、文字列)のみです
*
*
* 3. 配列の複数の宣言方法
*
* 1. value ステートメントを配列要素に直接代入します
* インデックス添字が指定されていない場合、シーケンシャルインデックスは 0 から始まります
* インデックスの添字が指定されている場合、次の添字は最大のものから 1 ずつ増加します
* 前の添字が後で出現する場合、代入の場合は前の要素が再代入されます
※宣言を混在させる場合、インデックスと関連付けは相互に影響しません(インデックス添字の宣言は影響を受けません)
*
* 2. array()関数宣言を使用します
* デフォルトはインデックス配列です
* 連想配列とインデックス付き配列の添字を指定する場合は、key => value を使用します
※複数のメンバー間は「,」で区切ります
* 3. 他の関数宣言を使用する
*
*
*
*
*/
//インデックス配列
$user[0]=1;//ユーザーシリアル番号
$user[1]="zhangsan";//ユーザー名
$user[2]=10;//年齢
$user[3]="nan";//性別
echo '
';<br> print_r($user);<br> echo '';
//連想配列
$user["id"]=1;
$user["name"]="張三";
$user["年齢"]=10;
$user["性別"];
$user["age"]=90;//割り当て
echo $user["name"];//出力
//array() を使用して配列を宣言します
$user=array(1,"張さん",10,"ナン");
//array() を使用して連想配列を宣言します
$user=array("id"=>1,"name"=>"zhangsan","age"=>10,"sex"=>"nan");
//複数のユーザー情報レコードをテーブルに保存するための多次元配列(複数レコード)を宣言します
$user=array(
//この行を呼び出すには $user[0] を使用します。たとえば、このレコード内の名前 $user[0][1] を呼び出します
array(1,"張三",10,"ナン"),
// $user[1] を使用してこの行を呼び出します。たとえば、このレコード内の名前 $user[1][1] を呼び出します
配列(2,"lisi",20,"nv")
);
//配列は複数のテーブルを保存し、各テーブルには複数のレコードがあります
$info=配列(
"ユーザー"=>配列(
array(1,"張三",10,"ナン"),
配列(2,"lisi",20,"nv")
)、
"スコア"=>配列(
配列(1,90,80,70),
配列(2,60,40,70)
)
);
echo $info["score"][1][1];//出力 60,
?>
配列スーパーグローバル変数
/* 事前定義された配列:
* 自動グローバル変数 --- スーパーグローバル配列
*
※1. WEBサーバー、クライアント、動作環境、ユーザー入力のデータが含まれます
* 2. これらの配列は特別です
* 3. 自動的にグローバルに有効になり、これらの配列を直接使用できます
※4. これらの配列はユーザーがカスタマイズすることはできませんが、これらの配列の操作方法は自作配列の操作方法と同じです
* 5. これらの配列は関数内で直接使用できます
*
* $_GET //URL リクエストを通じてスクリプトに送信された変数
* $_POST //HTTP POST メソッド経由でスクリプトに送信される変数
* $_REQUEST //GET、POST、COOKIE メカニズムを介してスクリプトに送信される変数
* $_FILES //http post メソッド ファイルのアップロードを通じてスクリプトに送信された変数
* $_クッキー
* $_セッション
* $_ENV //実行環境によってスクリプトに送信された変数
* $_SERVER //変数は WEB サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます
* $GLOBALS //現在のスクリプトで有効な変数がここにある限り、配列のキー名はグローバル スクリプトの名前になります
*
*
*/
//スーパーグローバル配列は関数内で直接呼び出すことができます
$arr=array(10,20);//一般的な配列
$_GET=array(50,90);//スーパーグローバル配列
関数デモ(){
global $arr;//グローバル変数を呼び出すには、まず
をインクルードする必要があります print_r($arr);
Print_r($_GET);//
を含めずにスーパーグローバル配列を直接呼び出します }
?>
//渡された値を変数として直接使用します。これは、php.ini 設定ファイルで register_global=on の場合に便利です。
echo $username."
";
echo $email."
";
echo $page."
";
//最も安定した値のメソッド
echo $_GET["ユーザー名"]."
";
echo $_GET["メール"]."
";
echo $_GET["ページ"]."
";
?>
これは $_GET テストです

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

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

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
