php で配列の反転を実現する方法は次のとおりです。 1. 構文 "function reverse($arr){...}" を使用して配列の反転を実現しますが、この関数は 1 次元配列のみを処理できます。 2. 構文 "function reverse_arr($arr){...}" を使用して配列の反転を実現します。この関数は多次元配列を処理できます。
このチュートリアルの動作環境: Windows 10 システム、php8.1.3 バージョン、dell g3 コンピューター
php は配列反転を実装します:
phpには配列を反転できる関数があり、仕事でもよく使われていてとても便利です。今日はこの機能を自分で実装してみましょう。
$arr = [2,5,6,1,8,16,12]; function reverse($arr){ $left = 0; $right = count($arr) -1; $temp = []; while ($left <= $right){ $temp[$left] = $arr[$right]; $temp[$right] = $arr[$left]; $left++; $right--; } ksort($temp); return $temp; } 效果 Array ( [0] => 12 [1] => 16 [2] => 8 [4] => 6 [5] => 5 [6] => 2 )
ただし、この関数は 1 次元配列のみを処理できます。複数の次元を処理できるものを実装しながら。
$arr = [2,[6,3,9],1,[5,2,1,[10,8,7]],5,0]; function reverse_arr($arr){ $index = 0; $reverse_array = []; foreach ($arr as $sub_arr){ if(is_array($sub_arr)){ $sub_arr = reverse($sub_arr); $arr_ = reverse_arr($sub_arr); $reverse_array[$index] = $arr_; }else{ $reverse_array[$index] = $sub_arr; } $index++; } return $reverse_array; } print_r(reverse(reverse_arr($arr))); 输出结果
Array ( [0] => 0 [1] => 5 [2] => Array ( [0] => Array ( [0] => 7 [1] => 8 [2] => 10 ) [1] => 1 [2] => 2 [3] => 5 ) [3] => 1 [4] => Array ( [0] => 9 [1] => 3 [2] => 6 ) [5] => 2 )
上記はすべて数値インデックス配列であり、連想配列を扱うことができません。次に連想配列を扱えるものを紹介します
$arr = ['a'=>'aa','b'=>'bb','c'=>'cc','d'=>'dd','e'=>'ee']; function reverse($arr){ $temp = []; end($arr); while (($value = current($arr)) != null){ $temp[key($arr)] = $value; prev($arr); } return $temp; } print_r(reverse($arr)); 结果 Array ( [e] => ee [d] => dd [c] => cc [b] => bb [a] => aa )
以上がPHPで配列を反転する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。