Php 单独的数组值

Php 单独的数组值,php,arrays,string,multidimensional-array,foreach,Php,Arrays,String,Multidimensional Array,Foreach,我想知道如何用变量分隔如下数组的值: 排列 弗雷奇 我试着自己去做,但这让我很困惑 foreach ($array as $key => $row){ foreach ($array[$key] as $key2 => $row2){ echo $row2; //1237108Artes 1Artes 2Artes 3artes1artes2artes3 } } 在线测试 - -$array= 数组( ["1", "2"

我想知道如何用变量分隔如下数组的值:

排列 弗雷奇 我试着自己去做,但这让我很困惑

foreach ($array as $key => $row){

    foreach ($array[$key] as $key2 => $row2){

        echo $row2; //1237108Artes 1Artes 2Artes 3artes1artes2artes3

    }

}
在线测试 - -
$array=
数组(
["1",           "2",            "3"         ],
["7",           "10",           "8"         ],
[“Artes 1”、“Artes 2”、“Artes 3”],
[“artes1”、“artes2”、“artes3”]
);
$newArray=array();
foreach($key=>$value的数组){
foreach($key2=>$value2的值){
$newArray[$key2][]=$value2;
}
}
foreach($newArray作为$key=>$value){
foreach($key2=>$value2的值){
如果($key2!=0)
回声“-”;
回显“$value2”;
}
回声“
”; }
使用制表符(这取决于输出的位置),您只需
内爆()
数据,使用
array\u column()
从所有行中提取列

for ( $i = 0; $i < count($array[0]); $i++ ) {
    echo implode("\t-\t", array_column($array, $i)).PHP_EOL;
}
要仅转换数据

$trans = [];
for ( $i = 0; $i < count($array[0]); $i++ ) {
    $trans[] =  array_column($array, $i);
}
$trans=[];
对于($i=0;$i
这将帮助您:

<table>
<?php
$array = [ ["1", "2", "3" ], ["7", "10", "8" ], ["Artes 1", "Artes 2", "Artes 3" ], ["artes1", "artes2", "artes3" ] ];
foreach ($array as $key => $row){ 
echo "<tr>";
foreach($array as $key2=> $row2){
echo "<td>".$row2[$key]."</td>";
} 
echo "</tr>";
}?>
</table>

编辑:尝试理解代码

<table>
<?php
$array = [ ["1", "2", "3" ], ["7", "10", "8" ], ["Artes 1", "Artes 2", "Artes 3" ], ["artes1", "artes2", "artes3" ] ];
$new_arr=[];
foreach ($array as $key => $row){
$var=[];
echo "<tr>";
foreach($array as $key2=> $row2){
echo "<td>".$row2[$key]."</td>";
array_push($var,$row2[$key]);
} 
array_push($new_arr,$var);
echo "</tr>";
}
foreach($new_arr as $key => $row){
foreach($row as $key2=> $row2){
echo $row2;
}
}?>
</table>


这将创建
$new_数组
数组。尝试回显并查看来自同一代码的输出

转换数组,然后像


因此,基本上其他用户提供的答案是有效的,但我认为您无法理解如何将这些值作为单独的字符串放在某个位置

$array =[

    ["1",           "2",            "3"         ],
    ["7",           "10",           "8"         ],
    ["Artes 1",     "Artes 2",      "Artes 3"   ],
    ["artes1",      "artes2",       "artes3"    ]
];

$arr = [];
$newArray=array();
foreach ($array as $key => $value) {
    foreach ($value as $key2 => $value2) {
        $newArray[$key2][]=$value2;

    } 
}

$arr = [];
foreach($newArray as $val){
    // $arr[] = implode(' - ', $val);

    $key = $val[0];

    $arr[$key] = array(
    "title" => $val[2],
    "var" => $val[3],
    "value" => $val[1],
    );
}

print_r($arr);


// A            B        C         D
// 1    -       7   - Artes 1 - artes1
// 2    -       10  - Artes 2 - artes2
// 3    -       8   - Artes 3 - artes3


这将给出与OP代码完全相同的输出,这如何解决他们的问题?我已经这样做了,并返回如下值(1237108Artes 1Artes 2Artes 3artes1artes2artes3)。我需要在会议开始时得到通知topic@NigelRen你能帮我吗?请找到更新的答案打印$newarray如何将这些值放在单独的变量中,以便在其他地方检索它们?在主循环中定义新变量并在次循环中使用
array\u push()
函数我需要转换该数组(),并以那种方式保存(),所以我问如何丢失这些值。你明白了吗?我如何把这些值放在不同的变量中,以便在其他地方检索它们?我需要转换该数组(),并以这种方式保存(),所以我问如何丢失这些值。你明白了吗?对不起,刚从健身房回来。我知道你已经接受了另一个答案,但只是为了完成而更新了我的答案。这是最像的答案,但还不好。如果你能帮我的话,我可以更改成交商户。我不确定我更改成交商户是什么意思。我应该如何将这些值放在单独的变量中,以便在其他地方检索它们?我没有捕捉到它,要保存什么值?我需要转换数组(),并以那种方式保存(),所以我问如何丢失这些值。你明白了吗?
$array\u transpose
是转换后的数组,你检查过了吗?是的,但我不知道如何按照我需要的方式转换数组(),然后以那种方式保存(),所以我问如何丢失值。你明白了吗?我看不到你的屏幕截图,使用这个[在线屏幕截图工具]()并发布屏幕截图的链接。我需要转换数组(),并以那种方式保存(),所以我问如何丢失这些值。你明白了吗?我不明白,第二个屏幕截图显示了混合值,一个数组对象与另一个数组对象不同。请在输出中显示您需要的预期结果?我很高兴您理解了在打印屏幕中显示
是什么意思?您在哪里显示这些数据?它是命令行、浏览器还是其他地方?
$trans = [];
for ( $i = 0; $i < count($array[0]); $i++ ) {
    $trans[] =  array_column($array, $i);
}
<table>
<?php
$array = [ ["1", "2", "3" ], ["7", "10", "8" ], ["Artes 1", "Artes 2", "Artes 3" ], ["artes1", "artes2", "artes3" ] ];
foreach ($array as $key => $row){ 
echo "<tr>";
foreach($array as $key2=> $row2){
echo "<td>".$row2[$key]."</td>";
} 
echo "</tr>";
}?>
</table>
<table>
<?php
$array = [ ["1", "2", "3" ], ["7", "10", "8" ], ["Artes 1", "Artes 2", "Artes 3" ], ["artes1", "artes2", "artes3" ] ];
$new_arr=[];
foreach ($array as $key => $row){
$var=[];
echo "<tr>";
foreach($array as $key2=> $row2){
echo "<td>".$row2[$key]."</td>";
array_push($var,$row2[$key]);
} 
array_push($new_arr,$var);
echo "</tr>";
}
foreach($new_arr as $key => $row){
foreach($row as $key2=> $row2){
echo $row2;
}
}?>
</table>
$array_transpose = null;
foreach($array as $k_row => $row){
    foreach($row as $k_col => $v){
        $array_transpose[$k_col][$k_row] = $v;
    }
}
foreach($array_transpose as $row){
    echo join("\t-\t",$row) . "\n";
}
$array =[

    ["1",           "2",            "3"         ],
    ["7",           "10",           "8"         ],
    ["Artes 1",     "Artes 2",      "Artes 3"   ],
    ["artes1",      "artes2",       "artes3"    ]
];

$arr = [];
$newArray=array();
foreach ($array as $key => $value) {
    foreach ($value as $key2 => $value2) {
        $newArray[$key2][]=$value2;

    } 
}

$arr = [];
foreach($newArray as $val){
    // $arr[] = implode(' - ', $val);

    $key = $val[0];

    $arr[$key] = array(
    "title" => $val[2],
    "var" => $val[3],
    "value" => $val[1],
    );
}

print_r($arr);


// A            B        C         D
// 1    -       7   - Artes 1 - artes1
// 2    -       10  - Artes 2 - artes2
// 3    -       8   - Artes 3 - artes3