検索
ホームページバックエンド開発PHPチュートリアル配列 list()、each()、while をループする PHP の 3 つのメソッドのまとめ

この記事では主に、PHP で配列をループする 3 つのメソッド list()、each()、while の概要を紹介します。この記事の焦点は、これら 3 つのメソッドの混合使用にあります。

①each () 関数

each() 関数は、配列をパラメーターとして渡し、配列内の現在の要素のキーと値のペアを返し、配列ポインターを次の要素の位置に後方に移動する必要があります。 。キーと値のペアは、キー 0、1、キー、および値を含む 4 つの要素を含む混合連想配列およびインデックス付き配列として返されます。キー名の 0 は配列要素のキー名である key に対応する値と同じであり、1 と value には配列要素の値が含まれます。内部ポインタが配列の末尾を超える場合、each() は FALSE を返します。 each() 関数の使用方法は次のとおりです:

コードをコピー コードは次のとおりです:

<?php
$contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",);
$id = each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组
print_r($id); //输出数组$id:Array([1]=>1,[value]=>1,[0]=>ID,[key]=>ID)
 
$name = each($contact); //返回数组$contact中的第二个元素的键/值对,是带有4个元素的数组
print_r($name); //输出Array([1]=>高某,[value]=>高某,[0]=>姓名,[key]=>姓名)
 
$company = each($contact);
print_r($company); //输出Array([1]=>A公司,[value]=>A公司,[0]=>公司,[key]=>公司)
 
$address = each($contact); 
print_r($address); //输出Array([1]=>北京市,[value]=>北京市,[0]=>地址,[key]=>地址)
 
$no = each($contact);
var_dump($no); //输出bool(false)
?>

②list() 関数

これは実際の関数ではなく、PHP の言語構造です。 list() は、1 つのステップで一連の変数に値を割り当てます。つまり、配列内の値をいくつかの変数に割り当てます。 list() は数値インデックス付きの配列でのみ使用でき、配列インデックスは 0 から始まると想定されます。構文形式は次のとおりです。

コードをコピーします。 コードは次のとおりです。

list(mixed varname,mixed…) = array_expression

list() ステートメントは、配列をパラメーターとして直接受け取りません。代わりに、配列内の各要素の値は、「=」演算子を使用した代入によって list() 関数の各パラメータに割り当てられます。 list() 関数は、その中の各パラメータを、スクリプト内で直接使用できる変数に変換します。使用法は次のとおりです:


コードをコピーします コードは次のとおりです:

<?php
$info = array(&#39;coffee&#39;,&#39;brown&#39;,&#39;caffeine&#39;);
list($drink,$color,$power) = $info;
 
list($drink,,$power) = $info; //变量的值是数组中第一个和第三个值
 
list( , ,$power) = $info; //变量值是数组中第三个元素的值
?>

上記の例で list() 関数の使用法を理解した後、 each() 関数と list() 関数を組み合わせます。 。コードは次のとおりです:

コードをコピーします コードは次のとおりです:

<?php
$contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",);
 
list($key,$value) = each($contact);
echo "$key => $value"; //输出变量$key和$value,中间使用“=>”分割
?>

③while ループは配列を走査します

前に紹介した each() ステートメントと list() ステートメントを使用すると、次のことは難しくありません。 while ループを使用して配列を走査するかどうかを理解します。使用される構文形式は次のとおりです:


コードをコピーします コードは次のとおりです:

while(list($key,$value) = each(array_expression)){
循环体
}

この共用体形式は、指定された array_expression 配列を走査します。 while() ステートメントの各ループで、 each() ステートメントは現在の配列要素のキーを list() 関数の最初のパラメーター変数 $key に割り当てます。そして、現在の配列要素の値を list() 関数の 2 番目のパラメーター変数 $value に代入します。 each() ステートメントが実行された後、配列内のポインターは 1 ステップ前に移動します。そのため、次回は while( ) ステートメントがループすると、配列内の次の要素のキーと値のペアが取得されます。配列の終わりまで、each() ステートメントは FALSE を返し、while() ステートメントはループを停止し、配列の走査を終了します。

コードをコピーします コードは次のとおりです:

<?php
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com",
);
 
//以HTML列表的方式输出数组中每个元素的信息
echo &#39;<dl>一个联系人信息:&#39;;
 
while(list($key,$value) = each($contact)){
echo "<dd>$key : $value</dd>";
}
 
echo &#39;</dl>&#39;;
?>

同じ方法で多次元配列をネストしたり走査したりすることもできます。 while 配列の走査結果は freach ステートメントの結果と同じですが、2 つのメソッドには違いがあります。 while ステートメントを使用して配列を走査した後、 each() ステートメントは、渡された配列パラメーターの内部ポインターを配列の末尾にポイントしています。 while ステートメントを使用して同じ配列を再度走査すると、配列ポインターはすでに配列の末尾にあり、each() ステートメントは直接 FALSE を返し、while ステートメントはループ内で実行されません。配列ポインタを最初の要素にリセットするには、while ステートメントが実行される前にのみ、reset() 関数を呼び出してください。 foreach ステートメントは、配列のポインター位置を自動的にリセットします。foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。これは、foreach ループの前にreset() 関数を呼び出す必要がないことを意味します。


関連する推奨事項:

PHPページエンコーディングの宣言方法(ヘッダーまたはメタ)の詳細説明

phpの丸め関数コード(floor関数、ceil関数、roundとintval)

以上が配列 list()、each()、while をループする PHP の 3 つのメソッドのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。さまざまなHTTPキャッシングヘッダー(例:キャッシュコントロール、ETAG、ラスト変更)を説明してください。Apr 17, 2025 am 12:22 AM

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか?Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール