二维数组行列值对换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值