PHP、配列、および🥝,🍓,🍋,🥭,🍎,🍌,🍑


ARRクラス


ARRはPHPの配列を管理するためのクラスですので、いくつかの一般的な操作を行うためにメソッドを使用できます.

説明


PHPの配列は、要素のリストを管理するための基本的ですが強力なデータ構造です.
PHPの配列はMAPの一覧です(key == value).
通常、キーは0から始まる整数(最初の要素は位置/インデックス0を持ちます、2番目のものは位置/インデックス1などを持ちます...).
この場合、配列はインデックス付き配列のように扱われます.
しかし、キーは「名前付き」(整数、ストリング...)でありえました.この場合、配列は連想配列のように扱われます.
例えば、
  • 🍎', '🍌'] : は2つの要素を持つ配列で、インデックス0を持つ最初のものと、インデックス1を持つ2番目の要素です
  • [アップル] =>🍎', 'バナナ'=>🍌']: は2つの要素を持つ配列です.この場合、インデックス' Apple 'は値'🍎', インデックス'バナナ'は値と関連している🍌'.
  • パッケージ


    配列を管理するための小さなオープンソースパッケージを作成しました.
  • のソースコード:https://github.com/Hi-Folks/array
  • 本パッケージ:https://packagist.org/packages/hi-folks/array
  • 書類:https://github.com/Hi-Folks/array/blob/main/doc/readme.md
  • 既に実装されているメソッドのリストと、我々が実装しようとしている方法:https://github.com/Hi-Folks/array/blob/main/doc/readme.md
  • カンニングペーパー:https://github.com/Hi-Folks/array/blob/main/examples/cheatsheet.php
  • パッケージのインストール


    パッケージをインストールするには、通常通り作曲家を使用できます.
    composer require hi-folks/array
    
    スクリプトではautoloadを含めることができます.Composerによって生成されたPHPファイル(自動的にautolload . phpファイルを含むフレームワークを使用していない場合).
    require("./vendor/autoload.php");
    
    次にクラスを含めることができます.
    use HiFolks\DataType\Arr;
    

    配列を作成する


    静的メソッドmake ()で果物( ARRクラスを使用する)のリストを作成することができます.
    use HiFolks\DataType\Arr;
    $fruits = Arr::make(['🍎', '🍌']);
    echo $fruits->length();
    // Output: 2
    

    インデックス位置を使用して配列要素にアクセスする


    arrクラスを使用していても、PHPの標準配列と同様に角括弧[]を持つ要素にアクセスできます.
  • ドル果物[0];
  • $果物[$果物-> length ()- 1 ];
  • use HiFolks\DataType\Arr;
    // Create an array
    $fruits = Arr::make(['🍎', '🍌']);
    // First element
    $first = $fruits[0];
    echo $first;
    // 🍎
    echo PHP_EOL . "--~--" . PHP_EOL;
    // Last element
    $last = $fruits[ $fruits->length() - 1];
    echo $last;
    // 🍌
    echo PHP_EOL . "--~--" . PHP_EOL;
    

    配列をループする


    配列を移動する必要がある場合は、forech ()メソッドを使用できます.
    この関数は、各要素(キー付き)を管理するためにforeeach ()メソッドの引数として指定することができます.
    use HiFolks\DataType\Arr;
    // Create an array
    $fruits = Arr::make([
        'kiwi' =>'🥝',
        'fragola' => '🍓',
        'lemon' => '🍋',
        'mango' => '🥭',
        'apple' => '🍎',
        'banana' => '🍌']);
    // Loop over an array
    $fruits->forEach(function ($element, $key) {
        echo $key . " " . $element . "; ";
    });
    // kiwi 🥝; fragola 🍓; lemon 🍋; mango 🥭; apple 🍎; banana 🍌;
    

    最後に要素を追加する


    push ()メソッドを使用して配列の末尾に項目を追加します.
    use HiFolks\DataType\Arr;
    // Create some fruits
    $fruits = Arr::make(['🥝','🍓','🍋','🥭','🍎','🍌']);
    // Push a new fruit (peach)
    $fruits->push('🍑');
    // Loop over fruits
    $fruits->forEach(function ($element, $key) {
        echo $key . " " . $element . PHP_EOL;
    });
    
    echo PHP_EOL . "--~--" . PHP_EOL;
    

    配列の末尾から要素を削除する


    pop ()メソッドを使用して配列の末尾から要素を取得および削除します.
    use HiFolks\DataType\Arr;
    // Create some fruits
    $fruits = Arr::make(['🥝','🍓','🍋','🥭','🍎','🍌']);
    // pop (retrieve and remove) last elements
    $last = $fruits->pop();
    $secondLast = $fruits->pop();
    // Loop over fruits
    $fruits->forEach(function ($element, $key) {
        echo $key . " " . $element . PHP_EOL;
    });
    echo "Last fruit: " . $last . PHP_EOL; // banana
    echo "Second last fruit: " . $secondLast . PHP_EOL; // apple
    

    配列の先頭から要素を削除する


    shift ()メソッドを使用して配列の先頭から最初の要素を取得および削除します.
    use HiFolks\DataType\Arr;
    // Create some fruits
    $fruits = Arr::make(['🥝','🍓','🍋','🥭','🍎','🍌']);
    // pop (retrieve and remove) last elements
    first = $fruits->first();
    // Loop over fruits
    $fruits->forEach(function ($element, $key) {
        echo $key . " " . $element . PHP_EOL;
    });
    echo "First fruit: " . $first . PHP_EOL; // kiwi
    

    配列の先頭に新しい要素を追加する


    unshift ()メソッドを使用して配列の先頭に新しい要素を追加します.
    use HiFolks\DataType\Arr;
    // Create some fruits
    $fruits = Arr::make(['🥝','🍓','🍋','🥭','🍎','🍌']);
    // add a new fruit (peach) before other fruits
    $fruits->unshift('🍑');
    // Loop over fruits
    $fruits->forEach(function ($element, $key) {
        echo $key . " " . $element . PHP_EOL;
    });
    echo PHP_EOL . "--~--" . PHP_EOL;
    

    要素の追加と削除


    方法
    操作
    どこ
    説明
    push ()
    要素の追加
    最後まで
    配列の最後に項目を追加する
    pop ()
    要素を削除
    終わりから
    配列の末尾から要素を取得および削除する
    shift ()
    要素を削除
    始めから
    配列の先頭から最初の要素を取得および削除する
    unshift ()
    要素の追加
    始めに
    配列の先頭に新しい要素を追加する

    配列の要素のインデックスを検索する


    要素のインデックスを見つけるには、index ()メソッドを使用します.
    use HiFolks\DataType\Arr;
    // Create some fruits
    $fruits = Arr::make(['🥝','🍓','🍋','🥭','🍎','🍌']);
    echo "All fruits:" . $fruits->join(",") . PHP_EOL;
    // All fruits:🥝,🍓,🍋,🥭,🍎,🍌
    // Find the index of an item in the Array
    $pos = $fruits->indexOf('🍎');
    echo "Find 🍎 at position: " . $pos . PHP_EOL;
    // Find 🍎 at position: 4
    

    インデックス位置で要素を削除する


    最後の例($ pos = = = 4 )の後に、$ posと要素の量を引数としてsplice ()メソッドで要素を削除できます.
    この場合、位置4の1つの果物(リンゴ)を取り除きたい場合
    $removedFruits = $fruits->splice($pos, 1);
    echo "Removed fruits: " . $removedFruits->join(",") . PHP_EOL;
    echo "Remaining fruits:" . $fruits->join(",") . PHP_EOL;
    // Removed fruits: 🍎
    // Remaining fruits:🥝,🍓,🍋,🥭,🍌
    

    インデックス位置から要素を削除する


    あなたが位置1からより多くの要素(例えば10)を削除するならば:
    // Remove items from an index position
    $removedFruits = $fruits->splice(1, 10);
    echo "Removed fruits: " . $removedFruits->join(",") . PHP_EOL;
    echo "Remaining fruits:" . $fruits->join(",") . PHP_EOL;
    // Removed fruits: 🍓,🍋,🥭,🍌
    // Remaining fruits:🥝
    

    配列をコピーする


    Splice ()メソッドを使用して、配列をコピー(クローニング)し、0を位置と配列の長さを要素の量とします.
    $some = $removedFruits->slice(0, $removedFruits->length());
    echo "Some Fruits: " . $some->join(",") . PHP_EOL;
    // Some Fruits: 🍓,🍋,🥭,🍌
    

    いくつかの注意


    この記事に記載されているメソッドは、JavaScript配列オブジェクトの動作を模倣するメソッドです.
    我々はいくつかの新しい方法を“ショートカット”または“ヘルパー”として追加しています.
    あなたが配列を管理するための新しい方法を要求したいなら、尋ねてください.