ホームページ >バックエンド開発 >PHPの問題 >PHP 配列のフラッシュバックでキー値が変更される

PHP 配列のフラッシュバックでキー値が変更される

王林
王林オリジナル
2023-05-11 11:08:06652ブラウズ

PHP プログラミングでは、配列は非常に一般的に使用されるデータ構造です。プログラミングでは配列に複数の値を格納でき、キーと値のペアを通じて各値にアクセスできます。場合によっては、配列のキー値を逆順に並べ替え、対応する元の値を変更しないようにする必要があります。これには、PHP の特定の関数とテクニックを使用する必要があります。

PHP 配列を逆順に並べ替えてキー値を変更するためによく使用される方法をいくつか紹介します。

方法 1: array_reverse() 関数を使用する

PHP の array_reverse() 関数を使用すると、配列の順序を逆にすることができます。この関数は、キーの番号が付け直された、元の配列と同じ値を持つ新しい配列を返します。

$arr = array('A', 'B', 'C', 'D');
$reversedArr = array_reverse($arr);
print_r($reversedArr);

出力結果は次のとおりです。

Array
(
    [0] => D
    [1] => C
    [2] => B
    [3] => A
)

元のキー値を保持したい場合は、2 番目のパラメータを true に設定できます。

$arr = array('A', 'B', 'C', 'D');
$reversedArr = array_reverse($arr, true);
print_r($reversedArr);

出力結果は次のとおりです:

Array
(
    [3] => D
    [2] => C
    [1] => B
    [0] => A
)

方法 2: array_flip() 関数を使用します。

PHP の array_flip() 関数は、キーと値を交換できます。元のキーが値になり、元の値がキーになる新しい配列を返します。この関数を使用して、最初に元の配列のキーと値を交換し、次に array_reverse() 関数を使用してそれを逆にすることができます。

$arr = array('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4);
$flippedArr = array_flip($arr);
$reversedArr = array_reverse($flippedArr, true);
print_r($reversedArr);

出力結果は次のとおりです:

Array
(
    [4] => A
    [3] => B
    [2] => C
    [1] => D
)

方法 3: foreach ループを使用する

PHP では、foreach ループを使用して配列を走査し、各キーを取得できます。次に、それを新しい配列に再割り当てし、デクリメント記号 -- を使用して、反転されたキー値を作成します。

$arr = array('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4);
$reversedArr = array();
$keys = array_keys($arr);
$num = count($keys);
for ($i = $num - 1; $i >= 0; $i--) {
    $key = $keys[$i];
    $reversedArr[$num - $i] = $arr[$key];
}
print_r($reversedArr);

出力結果は次のとおりです:

Array
(
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

上記は、PHP 配列を逆順にソートし、対応するキー値を変更するためによく使用されるいくつかの方法の詳細な紹介です。実際の状況に応じて、さまざまな方法を使用することを選択できます。

以上がPHP 配列のフラッシュバックでキー値が変更されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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