- <pre>
- <?php
- $start_row = 0;
- $start_col = 0;
- $arr = array(
- array("11", "12", "13", "14"),
- array("21", "22", "23", "24"),
- array("31", "32", "33", "34"),
- array("41", "42", "43", "44")
- );
- //print_r($arr);
- dyadic_array_exchange($arr, $start_row, $start_col);
- dyadic_array_exchange2($arr, $start_row, $start_col);
- function dyadic_array_exchange($array, $start_row=0, $start_col=0){
- if(!$new_array) $new_array = array();
- for($i = count($array) - 1; $i >= $start_row; $i--){
- for($j = count($array[$i]) - 1; $j >= $start_col; $j--){
- $new_array[$j][$i] = $array[$i][$j];
- }
- }
- // print_r($new_array);
- return $new_array;
- }
- function dyadic_array_exchange2($array, $start_row=0, $start_col=0){
- if(!$new_array) $new_array = array();
- if ($start_row) $array = array_slice($array, $start_row);
- $tmp_array = array_reverse($array);
- for($i = 0; $i < count($tmp_array); $i++){
- if ($start_col) $tmp_array[$i] = array_slice($tmp_array[$i], $start_col);
- $new_array[] = array_reverse($tmp_array[$i]);
- }
- // print_r($new_array);
- return $new_array;
- }
- ?>
- </pre>
二维数组行列值对换
这篇博客展示了如何使用PHP进行二维数组的行列值互换。通过dyadic_array_exchange和dyadic_array_exchange2两个函数,实现了从指定起始行和列开始的数组元素交换。这两个函数分别采用不同的方法来达到目的,一个是逐元素交换,另一个是通过切片和反转操作完成交换。
摘要由CSDN通过智能技术生成