ホームページ  >  記事  >  バックエンド開発  >  phpが返す配列を指定することは可能でしょうか?

phpが返す配列を指定することは可能でしょうか?

PHPz
PHPzオリジナル
2023-04-23 10:06:44637ブラウズ

php が配列仕様を返すことは可能ですか?

初心者にとって、PHP の配列は非常に重要なデータ構造です。開発中、配列を返す必要があることがよくありますが、場合によっては、この配列内の特定の項目のみが必要な場合もあります。それでは、PHP には、配列内の指定された項目のみを返すことができる対応するメソッドがあるのでしょうか?

答えは「はい」です。この記事では、array_filter() と array_map() という 2 つの PHP 関数を紹介します。どちらも、指定された項目を配列で返すことができます。

array_filter() 関数

array_filter() 関数は、PHP の組み込み関数です。特定の条件を満たさない配列内の要素をフィルターし、条件を満たす要素を返すために使用されます。状況、契約条項。この関数のコールバック関数の引数を使用して、必要な配列値を含む配列を返すことができます。

以下は例です:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_KEY);

print_r($result);
?>

この例では、array_filter() 関数を使用します。この関数は、配列内の名前と年齢の項目のみを返します。関数の 2 番目のパラメーターは、配列内のキー名をパラメーターとして受け取り、ブール値を返すコールバック関数です。 true の場合、この要素は含まれます。false の場合、この要素は含まれません。パラメータ ARRAY_FILTER_USE_KEY は、キー値ではなくキー名を渡すことを示します。

フィルタリングされた複数のキーと値のペアを返したい場合は、次のコードを使用できます:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$result = array_filter($arr, function($value, $key) {
    if ($key == 'name' || $key == 'age') {
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);
?>

この例は上記の例とよく似ていますが、キー名とキー値の両方を渡します。キー値をコールバック関数に渡すと、キー名とキー値を比較して複数のキーと値のペアを返すことができます。

array_map() 関数

array_map() 関数も PHP の組み込み関数で、1 つ以上の配列を受け取り、各要素がそれぞれ元の配列である新しい配列を返します。の対応する要素の処理結果。この関数を使用すると、配列全体ではなく、必要なキーを含む配列を返すことができます。

以下は例です:

<?php
$arr = [
    &#39;name&#39; => 'Tom',
    'age' => 20,
    'gender' => 'male'
];

// 只返回 name 和 age
$filtered_keys = ['name', 'age'];
$result = array_map(function($key) use ($arr) {
    return $arr[$key];
}, $filtered_keys);

print_r($result);
?>

この例では、array_map() 関数を使用して、名前と年齢のみを含む配列を返します。関数の 2 番目のパラメーターは、必要なキーを含む配列です。 array_map() のコールバック関数を使用して各キーの値を取得し、use キーワードを使用して元の配列を渡します。

どの項目を返すべきかわからない場合、または項目の数が時間の経過とともに変化する可能性がある場合は、array_filter() 関数を使用する必要があることに注意してください。また、どの項目を返すかがすでにわかっている場合、または項目の数がわかっている場合は、array_map() 関数を使用できます。

概要

PHP では、array_filter() 関数と array_map() 関数を使用して、指定された項目を配列で返すことができます。これらはすべて、コールバック関数を通じて配列をフィルタリングまたは再構築して、必要な結果を返すことができます。どのアイテムを返す必要があるか、アイテムの数が固定されているかどうかに応じて、使用する関数を選択できます。

以上がphpが返す配列を指定することは可能でしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。