ホームページ バックエンド開発 PHPチュートリアル foreachリスト各キーのPHP配列トラバーサルの説明_PHPチュートリアル

foreachリスト各キーのPHP配列トラバーサルの説明_PHPチュートリアル

Jul 14, 2016 am 10:11 AM
for foreach key list php ホスト 配列 説明する トラバース

PHPの配列トラバーサルの説明

この記事では、for、foreach、list、each、key、ポインタ操作関連関数、array_flip、array_reverse、array_walksなどの関数による配列の走査を中心に説明します

1.for ループは配列を走査します

For ループは、ほぼすべての言語で使用できる配列を走査する方法ですが、PHP 言語では、for ループは配列を走査するための最初の選択肢ではありません

以下はforループを使用した配列トラバーサルのサンプルコードです

/*

Androidyueによって設計されました

php*/での配列トラバーサルの説明

//配列を通る for ループ

//配列を宣言して初期化する

$array=array('Google','Chrome','Android','Youtube','Gmail');

//for ループを使用して各配列要素を走査し、count() を使用して配列の長さを計算します

for($i=0;$i

//配列の要素の値を出力します

echo $array[$i],"
";

}

?>

注: for を使用して配列を走査する場合、次の制限があります。

a 走査される配列はインデックス配列 (つまり、添字が数値である配列) である必要があり、連想配列 (添字が文字列である配列) であることはできません

以下のコードは以下の通りです

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

for($i=1;$i エコー $arrGoogle[$i];

}

?>

このエラーと同様のエラーが実行時に報告されます。 注意: D:/phpnow/htdocs/holiday/php_array_visit_summary.php の 13 行目で、未定義のオフセット: 1 これは、 for が連想配列の走査に適していないことを示しています

b、for によって走査される配列はインデックス配列である必要があり、添字は連続整数でなければなりません。連続整数でない場合は、プロンプトが表示されます

以下のコードは以下の通りです

$array=array(1=>'Google',5=>'Chrome',7=>'Android',9=>'Youtube',12=>'Gmail');

//print_r($array);

for($i=0;$i echo $array[$i],"
";

}

?>

この場合、「 Notice: Unknown offset: 2 in D:/phpnow/htdocs/holiday/php_array_visit_summary.php の 10 行目」に似たプロンプトも表示されます。したがって、for ループで走査される配列はインデックス配列である必要があります。添え字は連続している必要があります。

2.foreachは配列を走査します

foreach は、配列を走査するために PHP 言語によって提供されるメソッドであると言えます (他の言語にもある可能性があります)。この走査メソッドは、PHP が配列を走査するための最初の選択肢です。

Foreach トラバーサルは次のようになります: foreach($array as $key=>$value) にはキー値要素が含まれることも、foreach($array as $value) には値のみが含まれることもあります

foreach($array as $value) サンプルコード

/*

Androidyueによって設計されました

php*/での配列トラバーサルの説明

//foreach は配列の走査を実装します

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

//値のみが含まれます

foreach($arrGoogle as $value){

echo $value.'
';

}

?>

foreach($array as $key=>$value)のコード例

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

foreach($arrGoogle as $key=>$value){

echo '',($key+1)' 番目の配列要素の値は ',$value,'
';

}

?>

上記の $value と $key はカスタム変数なので、必要に応じて独自のスタイルに合った名前付け方法に変更できることに注意してください

3. リスト関数を使用して配列を走査します

list() 関数は、配列内の値を変数に代入します

標準構文: void list (混合変数名、混合...)

リストを使用して配列トラバーサルコードを実装する

//リストトラバーサル機能を使用する

//$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');/ /連想配列の使用は機能しません

$arrGoogle=array('google','Gmail','Chrome','Android');

list($brand,$email,$webBrowser,$phone)=$arrGoogle;

エコー $brand,$email,$webBrowser,$phone;

?>

注:

a list 関数で受け入れられる配列はインデックス配列のみであり、連想配列は使用できません。連想配列の場合は、「未定義のオフセットに注意してください」のようなプロンプトが表示されます

b 配列の値を部分的にのみ取得する場合は、次のように記述します。 list(,,$chrome,)=$arrGoogle; このようにして、chrome 情報を削除できますが、リストがパラメータが配列と一致している 要素の数が同じ(値の前の数字)

c list関数の割り当てはインデックス順に値を割り当てます

4.各関数は配列を走査します

各関数は入力配列のキーと値のペアを返します

標準構文: array each(array input array)

戻り値: 4 つの値 0、1、キー、値を返します。0 とキーにはキー名が含まれ、1 と値には対応するデータが含まれます

それぞれを使用して配列を走査するサンプルコードは次のとおりです:

//各関数を使用して配列を走査します

$arrGoogle=array('google','Gmail','Chrome','Android');

//初めて each を使用して、現在のキーと値のペアを取得し、ポインターを次の位置に移動します

$arrG=each($arrGoogle);

//結果を印刷し、結果を明確に表示するために新しい行で囲みます

print_r($arrG);


」を印刷します;

$arrGmail=each($arrGoogle);

print_r($arrGmail);


」を印刷します;

$arrChrome=each($arrGoogle);

print_r($arrChrome);


」を印刷します;

$arrAndroid=each($arrGoogle);

print_r($arrAndroid);


」を印刷します;

//ポインタが配列の末尾にある場合、それぞれの関数を再度実行します。その場合、再度実行した結果は false を返します

$empty=each($arrGoogle);

//ポインタが後方に移動し続けることができない場合は、false を返します

if($empty==false){

print 'ポインタは配列の最後にあり、後方に移動できないため、false を返します';

}

?>

注: この関数のパラメータと戻り値 (関数の実行前にポインタが配列の末尾にない場合) は両方とも配列です。関数の実行前に配列ポインタが配列の末尾にある場合は、戻り値が返されます。関数が再度実行されると、値は false になります

開始位置は最初の要素です。この関数が実行されるたびに (通常は)、ポインタは次のアドレスに戻ります。

5.key() は配列を走査します

それぞれは配列を返すために使用されるキー名です

基本構文: 混合キー (配列 & 配列)

Key関数は次のように配列サンプルコードを走査します

//Androidyueによって設計されました

// key 関数を使用して配列を走査します

//連想配列を初期化します

$arrChina=array('a'=>'河北','b'=>'安徽','c'=>'北京','d'=>'広東','e'= >「上海」);

//インデックス配列を初期化しますが、キーを使用したインデックス配列は空の文字を返します

$arrCN=array('Hebei','Anhui','Beijing','Guangdong','Shanghai');//キーは配列の文字列添字を表示します。インデックス配列の場合は空の文字列です

//print_r($arrChina);

while($key=key($arrChina)){//連想配列の場合、key メソッドを使用できます

echo $key,'
';

次($arr中国);

}

print_r($arrCN);//インデックス配列を出力します

while($keyName=key($arrCN)){//ここで key 関数を呼び出して値を代入すると、while 条件が成立せず、{} 間の演算は実行されません

/*if(empty($keyName)){

print 'キー名が空です
';

}*/

/*if($keyName=''){

print 'キー名が空です
';

}*/

var_dump($keyName);

}

//インデックス配列の key 関数の戻り値が変数の式のブール値に割り当てられていることを確認します

if(($KeyName=key($arrCN))==false){

「False」を出力します;

}

//インデックス配列で key 関数を呼び出し、変数に値を割り当てます

$keyName=key($arrCN);

next($arrCN);//配列ポインタを 1 つ後ろに移動します

次($arrCN);

次($arrCN);

次($arrCN);

次($arrCN);

$keyName=key($arrCN);

var_dump($keyName);//値と型情報を出力します

//エコー $keyName;

?>

注: key 関数のパラメーターは通常、インデックス配列の場合は意味がありません。

key 関数はポインタを移動しません。ここでは next 関数を呼び出します。next 関数はポインタを後方に移動するために使用されます。

6. ポインターを操作する関数を使用して配列を走査する

リセット関数は、ポインターを配列の初期位置に戻すために使用されます。また、スクリプト内で配列を複数回表示および処理する必要がある場合、この関数はよく使用されます。仕分け終了

b.current() 関数

この関数は現在の配列ポインターの位置の値を返します。この機能には注意してください。

c end はポインタを配列の最後の位置に移動し、ターゲット位置の値を返します

d 次に、ポインタを 1 回後方に移動し、現在の位置が配列の最後の位置である場合、false を返します。

e prev はポインタを 1 回前に移動し、現在の位置が配列の開始位置の場合は false を返します。

//Androidyueによって設計されました

//reset メソッドの使用法 次のコードは、ポインターを制御する関数を呼び出します。ポインターを移動する操作は、各関数の結果に影響を与えることに注意してください。

//コードを簡略化するために、単純な配列を宣言します

$arrGoogle=array('google','Gmail');

//各関数を呼び出すと、出力は配列改行を返します

echo(current($arrGoogle));//current 関数を使用して現在の値を出力します

echo (next($arrGoogle));//next 関数を呼び出し、次の値を出力します

$arrG=each($arrGoogle);

print_r($arrG);


」を印刷します;

$arrGmail=each($arrGoogle);

print_r($arrGmail);


」を印刷します;

$arrMore=each($arrGoogle);//ポインタが動き続けられない場合は false を返します

//print_r($arrMore);

//エコー $arrMore;


」を印刷します;

//ただし、出力を継続して上記のプロセスを繰り返す場合は、リセット関数を使用してポインタを開始位置にリセットし、上記の操作を繰り返します

リセット($arrGoogle);

echo(end($arrGoogle));//end 関数を呼び出してポインタを配列の最後の位置に移動し、値を返します

echo(prev($arrGoogle));// prev 関数を呼び出してポインタを前方に移動し、値を返します

$arrG=each($arrGoogle);

print_r($arrG);


」を印刷します;

$arrGmail=each($arrGoogle);

print_r($arrGmail);


」を印刷します;

?>

7.array_reverse()

この関数は、ターゲット配列の要素を反転します。preserver_key が true に設定されている場合、元のマッピングが維持されます。それ以外の場合、マッピングはリセットされます。

この機能を使用するサンプルコードは以下の通りです

$arrGoogle=array('Google','Gmail','Android','Chrome','Youtube');

エコー '

';</p>
<p>「操作前の配列」を出力します;</p>
<p>print_r($arrGoogle);</p>
<p>$arrReversed=array_reverse($arrGoogle);//以前のマッピングを保持しません</p>
<p>print 'preserving_key を使用しない逆順操作の結果';</p>
<p>print_r($arrReversed);</p>
<p>$arrReversedT=array_reverse($arrGoogle,1);//前のマッピングを保持します</p>
<p>print '逆順操作のためにpreserver_keyをオンにした結果';</p>
<p>print_r($arrReversedT);</p>
<p>エコー'
';

?>

8.array_flip()

この関数は配列のキーと値を交換します

以下はこの関数の使用コードです

//array_flip()関数の使い方

//インデックス配列を初期化します

$arrGoogle=array('Google','Chrome');

//連想配列を初期化します

$arrSohu=array('son'=>'Sogou','child'=>'Chinaren','search'=>'Sogou');//値が同じ場合、 array_flip() 関数は次のようになります。 array_flip() を使用した後、'son'=>'Sogou' と 'search'=>'Sogou' が同じ値になるように、同じ値を順番に上書きします。関数、それは【総合】検索です

//2つの配列に対してarray_flip()関数を呼び出して演算、出力するとどちらも正常に出力できます

print_r(array_flip($arrGoogle));

print '
$arrSogou は array_flip() 関数の操作前の配列です';

print_r($arrSohu);

print '
$arrSogou の array_flip() 関数操作なしの配列';

print_r(array_flip($arrSohu));

?>

9.array_walk関数

boolean array_walk(array input_array,コールバック関数[,混合ユーザーデータ])

array_walk() 関数は、パラメーター array_input の各要素をカスタム関数関数に渡して、array_input のキーと値のペアを実際に変更する場合は、各キーと値のペアを参照として渡す必要があります。機能

カスタム関数は 2 つの入力パラメータを受け入れる必要があります。1 つ目は配列の現在の値、2 つ目は配列の現在のキーです。array_walk 関数が 3 番目の値 userdata を与えるために呼び出された場合、その 3 番目の値は 3 番目になります。パラメータはカスタム関数に渡されます。

//Androidyueによって設計されました

//array_walk関数の使い方

//配列を初期化する

$arrCorperate=array('チャイナモバイル','チャイナユニコム','テレコム');

/*

関数: 配列内の値とユーザーが入力したパラメーターを連結して、文字列を結合する関数 (パラメーターが入力されていない場合は、デフォルトのパラメーター値が結合されます)

パラメータ: $value (カスタム)、配列に値を保存、$key 配列にキーを保存、$prefix はオプションのパラメータです。ユーザーは array_walk の 3 番目のパラメータを設定して値を割り当てる必要があります。 ()、ユーザーが値を割り当てない場合は、デフォルトを使用するか、必要に応じて選択します

注: ユーザーが値渡しによる参照を使用すると、配列の値が変更されます

*/

関数 linkString(&$value,$key,$prefix='cn'){

$value=$prefix.$value;//関数本体は文字列のスプライシングを実装します

}

array_walk($arrCorperate,'linkString');// array_walk() を使用して、カスタム関数に従って配列を操作します

//array_walk($arrCorperate,'linkString','China');//ここはカスタム関数のパラメーターを設定する 3 番目の場所です

print_r($arrCorperate)

?>

www.bkjia.com本当http://www.bkjia.com/PHPjc/477318.html技術記事 PHP配列トラバーサル解説 この記事では、配列トラバーサル1.forループ...
のfor、foreach、list、each、key、ポインタ操作関連関数、array_flip、array_reverse、array_walksなどの関数を中心に解説しています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

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

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

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

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.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

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

See all articles