PHP は配列のすべてのキーを返して配列を形成します

王林
リリース: 2024-03-21 10:08:01
転載
263 人が閲覧しました

php editor Strawberry は今日、配列のすべてのキーを使用して新しい配列を形成する方法という実践的なテクニックを紹介します。 PHP では、array_keys() 関数を使用してこの機能を実現できます。この関数は、元の配列のすべてのキーを含む新しい配列を返すことができるため、配列のキーを簡単に操作および処理できます。続いては具体的な導入方法を見ていきましょう!

PHP 配列のすべてのキーを取得します:

######概要:######

php配列内のすべてのキーを取得して新しい配列を形成するための複数のメソッドを提供します。この記事では、特定のニーズに基づいて情報に基づいた選択を行えるように、これらの方法とその微妙な違いについて説明します。

######方法:######

1.array_keys()

array_keys()この関数は、配列内のすべてのキーの配列を返します。パラメータとして配列を受け取り、キー値を含む配列を返します。

$fruits = ["リンゴ"、"バナナ"、"オレンジ"]; $keys = array_keys($fruits); // [0, 1, 2]

2.keys()

keys()
は、動作と使用法が同じ
ログイン後にコピー
array_keys()

関数のエイリアスです。

3. array_map() array_keys()

このメソッドは、array_map()関数を利用して、配列内の各値に

array_keys()

を適用します。結果は、すべてのキーを含む新しい配列になります。$keys = array_map("array_keys", $fruits); // [0, 1, 2]

4.array_column()

array_column()
関数を使用すると、多次元配列から特定の列の値を抽出できます。キーを抽出する代替方法としても使用できます。
ログイン後にコピー

$データ = [ ["id" => 1, "name" => "ジョン"], ["id" => 2, "name" => "メアリー"], ]; $keys = array_column($data, "id"); // [1, 2]

5. foreach ループ

foreach
ループは配列内の各要素を反復処理し、キー
ログイン後にコピー
key

を使用してキーにアクセスします。$キー = []; foreach ($fruits as $key => $value) { $keys[] = $key; }

6. IteratorAggregate インターフェイスIteratorAggregate

インターフェイスを実装するオブジェクトは、イテレータを通じてキーにアクセスできます。
getIterator()
ログイン後にコピー
メソッドを使用してイテレータを取得し、そこからキーを取得できます。

クラス MyArray は IteratorAggregate {を実装します パブリック関数 getIterator() { return new ArrayIterator($this->data); } } $arr = 新しい MyArray(); $keys = []; foreach ($arr as $key => $value) { $keys[] = $key; }

パフォーマンスの比較:以下は、さまざまな方法の大まかなパフォーマンスの比較です:


        
ログイン後にコピー
array_keys()

: 最速

array_map() array_keys()

: 高速化

  • keys():array_keys()
  • と同じarray_column()
  • : 多次元配列に対して効率的です
  • foreachループ: パフォーマンスの低下
  • IteratorAggregate: 複雑さの増加
  • 選択方法:
  • ニーズに最も適した方法を選択するかどうかは、次の要素によって決まります。
    • 配列の構造
    • 処理する配列の数
    • パフォーマンスの優先度

    単純で小さい配列の場合は、array_keys()またはarray_map() array_keys()が最適な選択です。大規模な多次元配列の場合は、array_column()の方が適切な場合があります。複雑なオブジェクトの場合、IteratorAggregateが有効なオプションです。

以上がPHP は配列のすべてのキーを返して配列を形成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!