ホームページ バックエンド開発 PHPチュートリアル PHP 配列の学習に関するいくつかの導入メモ_PHP チュートリアル

PHP 配列の学習に関するいくつかの導入メモ_PHP チュートリアル

Jul 13, 2016 pm 05:13 PM
php はじめる 協会 存在する 勉強 数値 番号 配列 ノート タイプ

PHP には 3 種類の配列があります: 数値配列 数値 ID キーを持つ配列 連想配列 配列内の各 ID キーは値に関連付けられます 多次元配列 1 つ以上の配列を含む配列 さて、メモを見てみましょう。

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

header('Content-Type: text/html; charset=utf-8'); エコー '

';
関数 var_array($array) <br>
{ <br>
エコー '<pre class="brush:php;toolbar:false">';
var_dump($array);
エコー '
'; }
関数 printr($array)
{
エコー '
';
print_r($array);
エコー '
'; }
関数 getArr($sNum, $eNum=1, $step=1)
{
$arr = range($sNum, $eNum, $step); $reArr = 配列(); foreach($arr as $v)
{
$reArr[$v] = ランド(0,10); }
設定を解除($arr)
$reArr を返します。 }
/**
* 配列配列の演習
*/
//------------------------------------------------
//array_change_key_case() は、最後のパラメータ CASE_UPPER (大文字に変換)、CASE_LOWER (デフォルトで小文字に変換) によって決定される、配列インデックスの大文字と小文字を変更します
$expArr = 配列(
'fiRsT' => '1'、
'sEcoNd' => '2'、
'ThIrd' => array(
'フイマ' => '3'、
'nengZhuaNma' => '5'、
)
); printr(array_change_key_case($expArr));//すべてを小文字に変換します
printr(array_change_key_case($expArr['ThIrd'], CASE_UPPER));//すべてを大文字に変換 $expArr 配列内のインデックス キーのみを変換します
//概要: この関数は配列の 1 つのレベルにのみ影響します。 元の配列には影響しません
echo '


'; //-----------------------------------------------
//array_chunk($array, $size, false)
//配列を多次元配列に分割します。size は、$size ごとに配列がどのように多次元配列になるかを決定します。true/false は、新しい配列のキー値が元の配列のキーを継承するかどうかを決定します
$expArr = 配列('4','2','6','d','2'); printr(array_chunk($expArr, 3)); //概要: この関数は配列の 1 つのレベルにのみ影響します。 元の配列には影響しません
echo '


'; //-----------------------------------------------
//array_combine($keyArr, $valArr)
// 2 つの配列を 1 つの配列に結合します。$keyArr がキー、$valArr が値になります
$expKey = array('g', 'd', 't'); $expVal = 配列('5', '8', '7'); printr(array_combine($expKey, $expVal)); //この関数も配列の 1 つのレベルにのみ影響し、新しい配列を返します
echo '


'; //-----------------------------------------------
//array_count_values($array)
// $array 配列内の各値の出現回数をカウントし、その値を新しい配列のキーとして使用し、出現回数を値として使用します
$array = array('v1'=>'265', 'v2'=>'352', 'v3'=>'265', 'v4'=>'349', 'v5'=> ;'265'); printr(array_count_values($array)); //概要: この関数は文字列型と整数型の統計値にのみ使用できます。他の型では警告が発行されます。
echo '


'; //-----------------------------------------------
//array_diff($array1, $array2...)
// $array1 を基本配列として使用し、その値は新しい配列を形成する他のパラメーター配列には現れません
$arr1 = array('v4'=>458, 'gren', 'b5', 'a5'); $arr2 = array('v4'=>598, 'red', 'a5', 'c4'); printr(array_diff($arr1, $arr2)); //概要: 配列を取得し、それを多数の配列に入れて、配列にない値を見つけるには、統計とデータ比較を使用する必要があります
//array_intersect($array, $parArr, ....)
//この関数は機能的には array_diff と同じですが、array_intersect() は共有データを返すのに対し、array_diff は $array にのみ存在するデータである点が異なります
//
echo '


'; //-----------------------------------------------
//array_diff_assoc($array1, $array2...)
// array_diff() 関数と同じですが、これも比較にキーを使用します
//
echo '


'; //-----------------------------------------------
//array_diff_key
//array_diff()関数と同じ
//これは、他のパラメーター配列で検索するために $array1 のキーのみを使用するだけです
//
echo '


';//-----------------------------------------------
//array_diff_uassoc($arr1, $parArr...., コールバック関数)
//関数は array_diff() と同じですが、ユーザーはコールバック関数を定義する必要があります
//この関数の機能がわかりません
//
echo '


'; //-----------------------------------------------
//array_diff_ukey($arr1, $parArr...., コールバック関数)
//関数は array_diff_key() と同じですが、array_diff_uassoc と同じであり、コールバック関数が必要です
//
//
echo '


'; //------------------------------------------------
//array_fill($startInt, $numInt, $value)
// $value を新しい配列に入力します。新しい配列の開始インデックス位置は、$startInt によって決定されます。$numInt は、この配列によって生成されるインデックスの数を制御します。
//ヒント: $value、$startInt、$numInt 以外は数値でなければなりません。そうでない場合はエラーが報告されます
printr(array_fill(2, 5, '値')); //要約: 何に使用するか分かりません
echo '


'; //-----------------------------------------------
//array_fill_keys($arrKeys, $value); //関数はarray_fill()関数と同じです。 $arrKeys [配列の値] が新しい配列のキーとして使用されるだけです
$arrKeys = array('45', 'd', 'b', 'c'); printr(array_fill_keys($arrKeys, '値')); echo '


'; //------------------------------------------------
//array_filter($arr, callBack コールバック関数)
//フィルター関数は、$arr 配列の値を判断して、callBack コールバック関数が true を返した場合、現在のキーと値が新しい配列に追加されます
//ヒント: コールバック関数は、ルールに準拠しない配列キーを除外するルールを作成できます
関数 cb($val)
{
$val%2 == 0 を返します; }
$array = array('k1'=>3, 'k2'=>5,'k4'=>54654, 'k5'=>8794, 8945, 32549564); printr($array, 'cb'); //ヒント: コールバック関数名は引用符で囲むことをお勧めします
//概要: このメソッドはデータ フィルタリングの統合に使用できます
unset($array); echo '


'; //------------------------------------------------
//array_flip($array)
//配列内のキーと値の関係を変換します。文字列および統合型のキーのみがサポートされており、他の型については警告が発行され、問題のキー値は変換されません。生成された新しい配列では、キーが同じ場合、既存のキーの値が継続的に置き換えられます
$arr = array('k1'=>'v1', 'k2'=>'v2', 'k3'=>'v4', 'k4'=>'v4', 'k5'=> ;'v5'); printr(array_flip($arr)); 設定を解除($arr)
echo '


'; //------------------------------------------------
//array_key_exists($key, $array)
//現在の配列にキーが存在するかどうかを判断し、bool を返します。物体の判断にも使えます
$array = array('cb' => 234, 'dv'=> 45, 'one'=> 897); if(array_key_exists('one', $array))
echo 'この配列に存在します'; それ以外は
エコー「存在しません」
; echo '


'; //------------------------------------------------
//array_keys($array, $selSearch_value)
//配列内のキー名を返し、新しい配列を形成します。 $selSearch_value が指定されている場合、$selSearch_value に等しい配列内のキー名が返されます
$array = getArr(4, 10); printr(array_keys($array)); printr(array_keys($array, '5'));//値で検索
unset($array); //概要: データ統計やデータ比較検証にも使用できます
echo '


'; //------------------------------------------------
エコー 'array_map:'; //array_map('callBack', $array,...)
//渡された関数をコールバック関数の戻り値に返す
//コールバック関数は配列を返すこともできます。さらに、コールバック関数は、渡される配列内の値のみを受け入れます
関数マップCb($n)
{
$n*$n*$n を返します。 }
$array = getArr(4, 15); printr(array_map('mapCb', $array)); echo '


'; //------------------------------------------------
//array_merge($array,$array2...)
//複数の配列を 1 つの配列に結合し、数値インデックスを書き換えます。
$arr1 = getArr(1, 5); $arr2 = getArr(5, 10); printr(array_merge($arr1, $arr2)); //概要: 複数の配列を新しい配列に結合します。
echo '


'; //------------------------------------------------
//array_merge_recursive($arr1, $arr2....)
// 機能は上記と同じです。ただし、関数はキーを置き換えるのではなく、同じキー名の値を持つ新しい配列を形成します
//ただし、使用したい場合は、実際の状況に応じて使用してください
echo '


'; //------------------------------------------------
//array_multisort()
//多次元配列のソート。現在は 2 次元配列のソートのみが実装されています。立体的には配置できないと推定されます
//この関数はメンバー配列の順序を直接変更します
echo '


'; //------------------------------------------------
//array_pad($arr, $size, $value)
// $arr の現在の長さが $size より小さい場合は、$arr の長さが $size に等しくなるまで $value を使用して $arr 配列を埋めます
//$arr の長さが $size 以上の場合、この関数は $arr を埋めません。 $size が 0 より小さい場合は $arr の左側に埋められ、0 より大きい場合は右側に埋められます
echo '


'; //------------------------------------------------
//array_pop($array)
//配列の最後のキーを削除します。
echo '


'; //------------------------------------------------
//array_product($arr)
//配列内のすべての値の積を返します。
//ヒント: この関数は数値以外のデータを処理できません。受信配列に「a や b などの文字列」が含まれている場合、PHP はエラーを報告します
$arr = 配列(4,5,5); エコー配列製品($arr); echo '


'; //------------------------------------------------
//array_push($arr, $keyArr)
// $keyArr を $arr 配列の末尾にキー/スタックの形式で追加します。
// 2 つの関数 array_merge() と array_merge_recursive() の違い:
// arrap_push() は $keyArr を $arr に追加し、他の 2 つの関数は複数の関数を 1 つの関数に接続します
echo '


'; //------------------------------------------------
//array_rand($arr, $num=1)
// 現在の配列内のキーを取得します。キーの数は $num で決まり、デフォルトは 1 です
// $num が 1 の場合、文字列を返します
// $num>1 && $num //そうでない場合、php はエラーを報告します
$arr = getArr(5, 15); printr(array_rand($arr, 4)); echo '


'; //------------------------------------------------
//array_reduce()
//array_map()と同様に、配列内の値はコールバック関数を通じて処理され、戻り値が受け入れられます
//この関数は文字列を返します。配列内のすべての値を計算して計算値を返しますが、array_map は各キーの値を計算して配列を返します
//よくわかりません。例についてはマニュアルを参照してください
echo '


'; //------------------------------------------------
//array_replace($array, $parArr,...)
// $array 内の同じキーの値をパラメータ配列内のキーの値に置き換えます
// $array 配列の後続のパラメーター配列で対応するキーが見つからない場合は、それを新しい配列の末尾に追加します
/*$arr = getArr(4, 10); $arr2 = getArr(6, 15); プリンター($arr); printr($arr2);*/
$base = array('citrus' => array( "オレンジ") , 'ベリー' => array("ブラックベリー", "ラズベリー"), ); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); printr(array_replace($base, $replacements)); echo '


'; //------------------------------------------------
//array_replace_recursive() 再帰置換
//関数はarray_replace()と同じです。違いは、array_replace_recursive() は $array の構造を変更せずに多次元配列を操作できるのに対し、array_replace() は最終的に 1 次元配列を返すことです
$base = array('citrus' => array( "オレンジ") , 'ベリー' => array("ブラックベリー", "ラズベリー"), ); $replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry')); printr(array_replace_recursive($base, $replacements)); echo '


'; //------------------------------------------------
//array_reverse($arr)
//配列内のキーを逆順に配置します
echo '


'; //------------------------------------------------
//array_search($value, $array)
// $array 配列内の値 $value を持つキー名を検索します
//見つからない場合は false を返します
// $array 配列に複数の $value がある場合、最初に一致したキーのみが返されます
//この関数は array_keys() に似ていますが、違いは戻り値にあります。array_search() は一致するキー名のみを返しますが、array_keys() は一致するすべてのキーで構成される 1 次元配列を返すことができます
echo '


'; //-----------------------------------------------
//array_shift($arr)
//現在の $arr 配列の最初のキーを削除し、後続の数値インデックスを再配置します (ただし、元の順序は変更しません)。数値以外のインデックスは変更されません。
//この関数は array_pop() に似ていますが、異なる点は、array_pop() は最後の関数を削除し、array_shift() は先頭を削除することです
echo '


'; //-----------------------------------------------
//array_slice($arr, $offset, $length=0, false) 配列インターセプト
// 現在の $arr 配列の $offset から始まる $length 要素/キーの合計を返し、新しい配列を形成して返す
// $offset または $length が負の数の場合、オフセットは逆方向になります
// substring() の文字列インターセプトと似た感じです
//PHP マニュアルの例を直接使用します
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, 2); // "c"、"d"、および "e" を返します
$output = array_slice($input, -2, 1) // "d" を返します
; $output = array_slice($input, 0, 3); // 「a」、「b」、「c」を返します
// 配列キーの違いに注意してください
printr(array_slice($input, 2, -1)); printr(array_slice($input, 2, -1, true)); echo '


'; //-----------------------------------------------
//array_spslice($arr, $offset, $length)
//array_slice() 関数の逆で、この関数は $offset と $length の間の要素を削除します
設定を解除($arr)
echo '


'; //-----------------------------------------------
//array_sum($arr)
// $arr 配列内のすべての値を合計して累積します。数値型以外の場合は変換を試みますが、変換後はほとんどが 0 になります
//この関数は、array_product() と同様に、配列の 1 レベルにのみ影響します
$arr = 配列(
45,56, 'a', 'b'=>getArr(1, 2),
); プリンター($arr); エコー 'array_sum($arr)',array_sum($arr); echo '


'; //-----------------------------------------------
//array_values($arr)
// $arr 配列の値を抽出して新しい配列を形成します
$arr = 配列(
'k1'=>45、'k2'=>56、'k3'=>'a'、'b'=>getArr(1, 2)、
); printr(array_values($arr)); echo '


'; //-----------------------------------------------
//array_unique($arr) は配列をソートします
// $arr 配列の重複を除去し、重複する値をフィルターします。複数の同一の値は最初の値のみを保持します
echo '


'; //-----------------------------------------------
//array_walk($arr, callback[コールバック関数], $sel_perfix='')
// 現在の配列内の各キーを処理のためにコールバック関数に送信します
// $sel_perfix パラメータを追加した場合、コールバック関数は 3 つのパラメータを受け取る必要もあります。そうでない場合は、エラーが報告されます
//この関数は 1 つのレイヤーにのみ影響します
$fruits = array("d" => "レモン", "a" => "オレンジ", "b" => "バナナ", "c" => "リンゴ"); 関数 test_alter(&$item1, $key, $prefix)
{
$item1 = "$プレフィックス: $item1"; }
printr(array_walk($fruits, 'test_print')); array_walk($fruits, 'test_alter', 'fruit'); echo '


'; //-----------------------------------------------
//array_walk_recursive()
//この関数は array_alk(); に似ていますが、$arr の配列の各レベルを再帰し、返された配列は元の配列の構造を変更しません
echo '


'; //-----------------------------------------------
//arsort($arr)
//配列のキー名に従って配列を並べ替えると、文字を並べ替えることができます。ソートに失敗した場合は null が返されます
echo '


'; //-----------------------------------------------
//asort()
//この関数は arsort() に似ていますが、異なる点は次のとおりです: asort() は値を並べ替えます



配列ループ

コードは次のとおりです コードをコピー
foreach ($array as $value) {
$値をエコーする
}
while (list($key) = each($array)) {
エコー $array[$key]
}
foreach ($array を $value として) {
エコー $value;
}
while (list($key) = each($array)) {
エコー $array[$key];
}

配列の「書き込み」操作はループ内で実行されるため、while は foreach よりも高速です。

コードは次のとおりですコードをコピー要約: foreach は値のコピーを必要とするため、while よりも遅いと考えられていますが、実際には、ループ内で配列を読み取るだけの場合、foreach は非常に高速です。これは、PHP で使用されるコピー メカニズムが原因です。 「参照によるコピー、書き込み時のコピー」、この観点から見ると、foreach の効率的な読み取り操作を理解するのは難しくありません。
foreach ($array as $key => $value) {

エコー $array[$key] = $value
; }
while (list($key) = each($array)) {
$array[$key] = $array[$key] .'; }
foreach ($array as $key => $value) {
echo $array[$key] = $value '...';
}
while (list($key) = each($array)) {
$array[$key] = $array[$key] '...';
}

さらに、foreach は配列書き込み操作の処理には適していないため、ほとんどの場合、foreach ($array as $key => $value) の形式のコードは while (list( $key) = each($array))。

http://www.bkjia.com/PHPjc/629148.html

本当http://www.bkjia.com/PHPjc/629148.html技術記事 PHP には 3 種類の配列があります: 数値配列 数値 ID を持つ配列 連想配列 配列内の各 ID は値に関連付けられます 多次元配列 1 つ以上の配列を含む配列、そうですね...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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 にアップグレードする方法について説明します。

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 は、

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元があります

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

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

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での後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

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

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

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

See all articles