PHP では、配列の最後の数文字を取得することが一般的な要件です。通常、これを実現するには、array_slice 関数を使用します。ただし、この関数は数値インデックス付きの配列にのみ使用できるため、配列が連想配列の場合に問題が発生します。したがって、この記事では、配列の最後の数文字を取得するためのより一般的な方法を紹介します。
方法 1: array_slice 関数を使用する
array_slice 関数は、配列内の特定のフラグメントをインターセプトするために使用できる非常に強力な関数です。この関数を使用して、配列の最後のいくつかの要素を取得できます。 array_slice 関数を使用したサンプル コードを次に示します。
$arr = [1, 2, 3, 4, 5]; $lastTwo = array_slice($arr, -2, 2); print_r($lastTwo);
まず、5 つの要素を含む配列 $arr を定義します。配列内の最後の 2 つの要素を取得したいので、最初のパラメーターは配列自体、2 番目のパラメーターはインデックスの開始位置 (カウントダウンの開始を示す負の数を指定)、3 番目のパラメーターは次のようになります。インターセプトの長さも、いくつかの要素を取得するだけです。最後の 2 つの要素を取得したいので、切り捨ての長さは 2 です。
上記のコードの出力結果は次のとおりです:
Array ( [3] => 4 [4] => 5 )
ご覧のとおり、出力結果は最後の 2 つの要素 [4,5] です。
もちろん、配列が連想配列の場合は、最初に配列のキー名を取得し、次にキー名に基づいて対応する値を取得する必要があります。具体的な操作は次のとおりです。
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $keys = array_keys($arr); $lastTwoKeys = array_slice($keys, -2, 2); $lastTwoValues = array_intersect_key($arr, array_flip($lastTwoKeys)); print_r($lastTwoValues);
ここでは、まず array_keys 関数を使用して、関連付けられた配列 $arr のすべてのキー名を取得します。次に、array_slice 関数を使用して、キー配列内の最後の 2 つのキーを取得します。最後に、array_intersect_key 関数を使用して、キー配列から対応する値を抽出して新しい配列を形成し、結果を出力します。
方法 2: array_reverse 関数と array_slice 関数を使用する
array_slice 関数に加えて、配列の最後のいくつかの要素を取得する別の方法があります。 array_reverse 関数と array_slice 関数。 array_reverse 関数を使用すると配列を反転でき、array_slice 関数を使用して配列のセグメントをインターセプトできます。
array_reverse 関数と array_slice 関数を使用したサンプル コードは次のとおりです。
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $reversedArray = array_reverse($arr, true); $lastTwoValues = array_slice($reversedArray, 0, 2, true); print_r($lastTwoValues);
まず、連想配列 $arr を裏返します。ここで渡される 2 番目のパラメーター true は、キー名と値の間の関係を維持するために使用されます。次に、array_slice 関数を使用して、反転された配列の最初の 2 つの要素を取得します。配列が反転されているため、ここでのインデックス位置は 0 から開始する必要があることに注意してください。
上記のコードの出力結果は次のとおりです:
Array ( [e] => 5 [d] => 4 )
ご覧のとおり、出力結果は最後の 2 つの要素 [5,4] であり、次のコードの出力結果と同じです。方法1。
概要
array_slice 関数を使用するか、array_reverse 関数と array_slice 関数を組み合わせて使用するかに関係なく、配列の最後のいくつかの要素を簡単に取得できます。ただし、配列が連想配列の場合は、まず配列のキー名を取得し、次にキー名に基づいて対応する値を取得する必要があることに注意してください。同時に、戻り値内のキー名の順序は元の配列と必ずしも同じではないため、特別な注意が必要であることにも注意してください。
以上がPHPで配列の最後の文字を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。