加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 反转矩阵数 – 循环

发布时间:2020-12-13 22:32:12 所属栏目:PHP教程 来源:网络整理
导读:首先,我有这些价值观. $Arr1 = array(1/1,1/2,3/1);$Arr2 = array(1/1,4/1);$Arr3 = array(1/1); 我需要一个带有3个数组的输出,如下所示: $a1 = array (1/1,3/1);$a2 = array (2/1,1/1,4/1);$a3 = array (1/3,1/4,1,1); 我在想的是: for ($i=0; $icount($A
首先,我有这些价值观.

$Arr1 = array(1/1,1/2,3/1);
$Arr2 = array(1/1,4/1);
$Arr3 = array(1/1);

我需要一个带有3个数组的输出,如下所示:

$a1 = array (1/1,3/1);
$a2 = array (2/1,1/1,4/1);
$a3 = array (1/3,1/4,1,1);

我在想的是:

for ($i=0; $i<count($Arr1); $i++) {
    ${"a".$i} = array(
        //here,the number of array elements depends to the length of $a1
    );
}

有帮助吗?谢谢

我认为这张图片有助于理解这个问题:

解决方法

首先,使用2D阵列将使您的生活更轻松.

首先,像这样初始化你的值:

$matrix_size = 3;
$matrix = array();
for($i = 0; $i < $matrix_size; $i++){
    $matrix[$i] = array_fill(0,$matrix_size,null);
}

$matrix[0][0] = 1/1; 
$matrix[0][1] = 1/2; 
$matrix[0][2] = 3/1; 

$matrix[1][1] = 1/1; 
$matrix[1][2] = 4/1; 

$matrix[2][2] = 1/1;

然后你可以运行这样的循环:

foreach($x = 0; $x < $matrix_size; $x++){
    foreach($y = 0; $y < $matrix_size; $y++){
        if(is_null($matrix[y][x]) && !is_null($matrix[x][y])){
            $matrix[y][x] = 1/$matrix[x][y];
        }
    }
}

我确信有一种更有效的方法可以做到这一点,但这是你探索的开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读