PHP配列関数応用例

Jun 20, 2023 am 09:48 AM
PHP配列 関数 応用

PHP は一般的に使用される Web プログラミング言語であり、配列は最も重要なデータ型の 1 つです。 PHP には、配列データを処理するための強力な配列関数が多数あり、開発効率を大幅に向上させることができます。以下では、一般的に使用される PHP 配列関数をいくつか紹介し、実際の応用例をいくつか示します。

  1. array_sort

array_sort 関数は配列の並べ替えに使用され、複数の並べ替え方法が使用できます。以下に例を示します。

function array_sort($arr, $sort_key, $sort_order = SORT_ASC) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $keys = array_keys($arr);
    if (!is_numeric($sort_key)) {
        $sort_key_arr = array();
        foreach ($keys as $k) {
            $sort_key_arr[$k] = $arr[$k][$sort_key];
        }
        $sort_key = $sort_key_arr;
    }
    array_multisort($sort_key, $sort_order, $keys);
    $sorted_arr = array();
    foreach ($keys as $k) {
        $sorted_arr[$k] = $arr[$k];
    }
    return $sorted_arr;
}
ログイン後にコピー

この関数の引数は、配列、並べ替えのキー、および並べ替え順序 (デフォルトは昇順) です。

応用例: 特定のキー値に従って多次元配列を並べ替えます。

$students = array(
    array('name' => 'Mike', 'score' => 80),
    array('name' => 'John', 'score' => 90),
    array('name' => 'Alice', 'score' => 70)
);
$students_sorted = array_sort($students, 'score', SORT_DESC);
print_r($students_sorted);
ログイン後にコピー

出力結果:

Array
(
    [1] => Array
        (
            [name] => John
            [score] => 90
        )

    [0] => Array
        (
            [name] => Mike
            [score] => 80
        )

    [2] => Array
        (
            [name] => Alice
            [score] => 70
        )

)
ログイン後にコピー
  1. array_filter

array_filter 関数は、指定された条件に従って配列内の要素をフィルター処理するために使用され、カスタマイズできます。フィルタリングルール。以下は例です:

function array_filter_custom($arr, $func) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $result = array();
    foreach ($arr as $key => $value) {
        if ($func($value, $key)) {
            $result[$key] = $value;
        }
    }
    return $result;
}
ログイン後にコピー

この関数のパラメータは配列とカスタム コールバック関数です。コールバック関数はブール値を返します。この値は、現在の要素を保持する必要があるかどうかを判断するために使用されます。

応用例: 配列内の偶数をフィルター処理します。

$numbers = array(1, 2, 3, 4, 5, 6, 7, 8);
$even_numbers = array_filter_custom($numbers, function($value) {
    return $value % 2 == 0;
});
print_r($even_numbers);
ログイン後にコピー

出力結果:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
)
ログイン後にコピー
  1. array_map

array_map 関数は、配列内の各要素にコールバック関数を適用し、新しい配列を返すために使用されます。 。以下は例です:

function array_map_custom($arr, $func) {
    if (empty($arr) || !is_array($arr)) {
        return $arr;
    }
    $result = array();
    foreach ($arr as $key => $value) {
        $result[$key] = $func($value);
    }
    return $result;
}
ログイン後にコピー

この関数のパラメータは配列とカスタム コールバック関数です。コールバック関数は 1 つのパラメータを受け入れ、変換された値を返す必要があります。

応用例: 配列内の文字列を大文字に変換します。

$strings = array('hello', 'world', 'php');
$strings_upper = array_map_custom($strings, function($value) {
    return strtoupper($value);
});
print_r($strings_upper);
ログイン後にコピー

出力結果:

Array
(
    [0] => HELLO
    [1] => WORLD
    [2] => PHP
)
ログイン後にコピー
  1. array_reduce

array_reduce 関数を使用して、配列内の各要素に 1 つずつコールバック関数を適用します。最終的には縮小された値を返します。以下に例を示します。

function array_reduce_custom($arr, $func, $initial = null) {
    if (empty($arr) || !is_array($arr)) {
        return $initial;
    }
    $result = $initial;
    foreach ($arr as $value) {
        $result = $func($result, $value);
    }
    return $result;
}
ログイン後にコピー

この関数のパラメータは、配列、カスタム コールバック関数、およびオプションの初期値です。

アプリケーションケース: 配列内のすべての値を追加します。

$numbers = array(1, 2, 3, 4, 5);
$sum = array_reduce_custom($numbers, function($carry, $item) {
    return $carry + $item;
});
echo $sum;
ログイン後にコピー

出力結果:

15
ログイン後にコピー

これらの実践的なアプリケーション ケースを通じて、PHP 配列関数の使用法をより深く理解できるようになり、プログラミング プロセス中に配列データをより便利に処理できるようになります。

以上がPHP配列関数応用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の命名におけるパラメーターの順序に関する考慮事項 C++ 関数の命名におけるパラメーターの順序に関する考慮事項 Apr 24, 2024 pm 04:21 PM

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Apr 24, 2024 am 11:33 AM

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

カスタム PHP 関数と定義済み関数の違いは何ですか? カスタム PHP 関数と定義済み関数の違いは何ですか? Apr 22, 2024 pm 02:21 PM

カスタム PHP 関数と定義済み関数の違いは次のとおりです。 スコープ: カスタム関数はその定義のスコープに限定されますが、事前定義関数はスクリプト全体からアクセスできます。定義方法: カスタム関数は function キーワードを使用して定義されますが、事前定義関数は PHP カーネルによって定義されます。パラメータの受け渡し: カスタム関数はパラメータを受け取りますが、事前定義された関数はパラメータを必要としない場合があります。拡張性: カスタム関数は必要に応じて作成できますが、事前定義された関数は組み込みで変更できません。

C++ 関数例外の詳細: カスタマイズされたエラー処理 C++ 関数例外の詳細: カスタマイズされたエラー処理 May 01, 2024 pm 06:39 PM

C++ の例外処理は、特定のエラー メッセージ、コンテキスト情報を提供し、エラーの種類に基づいてカスタム アクションを実行するカスタム例外クラスを通じて強化できます。 std::Exception から継承した例外クラスを定義して、特定のエラー情報を提供します。カスタム例外をスローするには、throw キーワードを使用します。 try-catch ブロックでdynamic_castを使用して、キャッチされた例外をカスタム例外タイプに変換します。実際の場合、open_file 関数は FileNotFoundException 例外をスローします。例外をキャッチして処理すると、より具体的なエラー メッセージが表示されます。

PHP 配列の順序をシャッフルすると、配列の参照またはアドレスに影響しますか? PHP 配列の順序をシャッフルすると、配列の参照またはアドレスに影響しますか? Apr 30, 2024 pm 03:48 PM

いいえ、要素とそのキーは変更されないため、PHP 配列の順序をシャッフルしても要素の参照やアドレスには影響しません。シャッフル後、配列の内容 (要素とキー) は変更されず、キーの順序のみが変更されます。

Golang関数がマップパラメータを受け取る際の注意点 Golang関数がマップパラメータを受け取る際の注意点 Jun 04, 2024 am 10:31 AM

Go の関数にマップを渡すと、デフォルトでコピーが作成され、コピーへの変更は元のマップには影響しません。元のマップを変更する必要がある場合は、ポインタを介してそれを渡すことができます。空のマップは技術的には nil ポインターであり、空ではないマップを期待する関数に空のマップを渡すとエラーが発生するため、空のマップは慎重に扱う必要があります。

See all articles