PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのarray_fill_keys()関数の使い方をわかりやすく解説

PHPのarray_fill_keys()関数は、指定したキーの配列と値を受け取り、すべてのキーに同じ値を割り当てた新しい配列を生成して返します。複数のキーに対して同じ初期値を設定したい場合に、ループ処理を書かずに簡潔に記述できる便利な関数です。

構文

array_fill_keys(keys, values)

パラメータ

  • keys − 生成される配列のキーとして使用する値を格納した配列。

  • values − 各キーに埋め込む値。文字列や数値、配列など任意の型を指定できます。

戻り値

array_fill_keys()関数は、指定された値で埋められた配列を返します。

キーに関する注意点

配列のキーには文字列または整数のみを使用できます。そのため、keys配列に含まれる値がブール値の場合は整数(true→1、false→0)に変換され、nullは空文字列「""」に変換されます。また、浮動小数点数は小数点以下が切り捨てられます。連想配列をkeysに渡した場合は、その「値」がキーとして使用されます。

使用例

次の例では、キーとなる配列$arrの各要素に対して、「demo」という値を割り当てています。

<?php
   $arr = array('p', 'q', 'r');
   $res = array_fill_keys($arr, demo);
   print_r($res)
?>

出力

Array (
   [p] => demo
   [q] => demo
   [r] => demo
)

続いて、別の例を見てみましょう。keys配列には、文字列だけでなく整数も混在させて指定できます。

使用例

<?php
   $arr = array('a', 'b', 'c', 1, 2, 3, 'steve', 'tom', 4, 5);
   $res = array_fill_keys($arr, demo);
   print_r($res)
?>

出力

Array (
   [a] => demo
   [b] => demo
   [c] => demo
   [1] => demo
   [2] => demo
   [3] => demo
   [steve] => demo
   [tom] => demo
   [4] => demo
   [5] => demo
)

このようにarray_fill_keys()関数を使えば、キーが重複しない限り、元の配列の順序を保ちながら各キーに同一の値を設定した連想配列を一度に作成できます。デフォルト値を持つ設定用配列や、フラグ管理用の配列などを生成する際に特に役立ちます。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのget_parent_class()関数の使い方を解説

    PHPのget_parent_class()関数は、オブジェクトまたはクラス名をもとに、その親クラスの名前を取得するための関数です。クラスの継承関係をプログラムの中で動的に確認したい場合に役立ちます。構文get_parent_class(object)パラメータobject − 親クラスを調べたい対象となるオブジェクト、またはクラス名。戻り値get_parent_class()関数は、指定されたクラス(またはオブジェクト)の親クラス名を文字列として返します。親クラスが存在しない場合はfalseが返されます。使用例以下は、get_parent_class()関数を使って親クラス名を取得するサンプ