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 $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() は値を並べ替えます 配列ループ
配列の「書き込み」操作はループ内で実行されるため、while は foreach よりも高速です。
さらに、foreach は配列書き込み操作の処理には適していないため、ほとんどの場合、foreach ($array as $key => $value) の形式のコードは while (list( $key) = each($array))。
|
http://www.bkjia.com/PHPjc/629148.html

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
