現在の位置: ホーム> 最新記事一覧> [PHP Array_Values関数は、array_map関数と組み合わせて使用​​されます。典型的なアプリケーションの例は何ですか?

[PHP Array_Values関数は、array_map関数と組み合わせて使用​​されます。典型的なアプリケーションの例は何ですか?

gitbox 2025-06-11

例1:連想配列の値を抽出してフォーマットします

開発では、 ['name' => 'tom'、 'age' => 28]などの連想配列がしばしば処理されます。値だけを気にし、それらを均一に文字列に変換したい場合:

 $data = ['name' => 'Tom', 'age' => 28];

$formatted = array_map('strval', array_values($data));

print_r($formatted);

出力:

 Array
(
    [0] => Tom
    [1] => 28
)

このシナリオでは、 array_values()がAssociationキーを削除し、 array_map()はタイプ変換を完了します。


例2:配列値をクリーンし、インデックスを再構築します

追加のスペースとさまざまなデータ形式を含むユーザー入力から次の配列を取得すると想像してください。

 $input = [
    'first' => ' Alice ',
    'second' => 'BOB',
    'third' => ' charlie '
];

小文字を統合し、スペースを削除し、インデックスアレイを再構築します。

 $clean = array_map('trim', array_map('strtolower', array_values($input)));

print_r($clean);

出力:

 Array
(
    [0] => alice
    [1] => bob
    [2] => charlie
)

2つのarray_map()sのネストは、各値を処理するために使用され、最後にarray_values()でインデックスを再編成すると、結果は簡潔で明確です。


例3:オブジェクト属性または配列キー値のバッチ抽出

オブジェクト配列または連想配列リストでは、次のシナリオでユーザーのIDを抽出するなど、特定のフィールドを抽出する必要があることがよくあります。

 $users = [
    ['id' => 101, 'name' => 'Lily'],
    ['id' => 102, 'name' => 'John'],
    ['id' => 103, 'name' => 'Mike']
];

$ids = array_values(array_map(function ($user) {
    return $user['id'];
}, $users));

print_r($ids);

出力:

 Array
(
    [0] => 101
    [1] => 102
    [2] => 103
)

この構造化されたデータでは、 array_map()はキー値を抽出し、 array_values()は出力配列の連続性を保証します。これは、後続のデータ処理またはフロントエンドJSON出力に非常に適しています。


例4:バルクコンストラクトURLパス

場合によっては、ユーザー名に基づいてプロファイルページパスを生成するなど、特定のデータフィールドに基づいてパラメーターを使用してURLを生成する必要があります。

 $names = ['alice', 'bob', 'charlie'];

$urls = array_map(function ($name) {
    return 'https://gitbox.net/user/profile/' . urlencode($name);
}, array_values($names));

print_r($urls);

出力:

 Array
(
    [0] => https://gitbox.net/user/profile/alice
    [1] => https://gitbox.net/user/profile/bob
    [2] => https://gitbox.net/user/profile/charlie
)

array_map()は、パス文字列を生成するために使用され、 array_values()は、データが必要に応じて連続インデックスアレイであり、JSON応答に適しているか、フロントエンドへのパスに適しています。