如何在PHP中显示具有键值名称的所有项目?

如何在PHP中显示具有键值名称的所有项目?,php,arrays,loops,Php,Arrays,Loops,我想以表格形式使用循环(而不是foreach循环)显示以下带有键名和键值的数组列表。(如已使用) 由于用户对键感兴趣,foreach首先获取键($ind)“Rahul”,然后在数组上循环,并回显后续键($ind2)“Java”、“算法”、“DBMS”及其值($val),键“Anita”也会发生同样的情况 $marks = array( "Rahul" => array("Java" => "80", &qu

我想以表格形式使用循环(而不是foreach循环)显示以下带有键名和键值的数组列表。(如已使用)


由于用户对键感兴趣,foreach首先获取键($ind)“Rahul”,然后在数组上循环,并回显后续键($ind2)“Java”、“算法”、“DBMS”及其值($val),键“Anita”也会发生同样的情况

 $marks = array(
        "Rahul" => array("Java" => "80", "Algorithms" => "72", "DBMS" => "88"),
        "Anita" => array("Java" => "90", "Algorithms" => "84", "DBMS" => "88"),
    );
    
    foreach ($marks as $ind => $new) {
        foreach ($new as $ind2 => $val) {
            echo $ind . " " . $ind2 . '-' . $val . "\n";
        }
    }

如果我理解正确

foreach ($marks as $new => $n)
{ 

    echo $new." - Java : ".$n['Java'].", Algorithms : ".$n['Algorithms'].", DMBS: ".$n['DBMS']."\n <br>";  
} 
foreach($markas$new=>$n)
{ 
echo$new。“-Java:“.n['Java']”,算法:“.n['Algorithms']”,DMB:“.n['DBMS']”。\n
”; }

全入式for循环

<?php
$marks = array (

    "Rahul" => array ("Java" => "80", "Algorithms" => "72","DBMS" => "88"),

    "Anita" => array ("Java" => "90", "Algorithms" => "84","DBMS" => "88"),
);

// Get all user names
$arrayNames = array_keys($marks);
$x = true;
$sizeMarks = sizeof($marks);
for($i=0; $i< $sizeMarks; $i++){
    

    $nameKey = $arrayNames[$i];
    $subsArray = $marks[$nameKey];

    if($x == true){
        $sizeSubjects = sizeof($subjects);
        $x = false;
    }

    $subjects = array_keys($subsArray);
    for($j=0; $j< $sizeSubjects; $j++){

        $subjectKey = $subjects[$j];
        echo $nameKey ." ".$subjects[$j]." ".  $marks[$nameKey][$subjectKey]."\n"; 
    }
}
?>

您的输入数组似乎具有可预测的结构。您可以使用单个
foreach()
通过将每个关联值指定给变量来访问第一级关键点以及完整的第二级数据

代码:()

输出:

Rahul : Java => 80, Algorithms => 72, DBMS => 88
Anita : Java => 90, Algorithms => 84, DBMS => 88

欢迎很简单。那么你不知道如何访问
Rahul
Anita
@这需要多大的动力?您的确切期望输出是什么@IMP为什么您似乎对
foreach()
循环有一些偏见--这部分对我来说没有意义?是的。我只是想用all for loop写一个答案。如果你能解释你的答案会很有帮助
$marks = [
    "Rahul" => ["Java" => "80", "Algorithms" => "72","DBMS" => "88"],
    "Anita" => ["Java" => "90", "Algorithms" => "84","DBMS" => "88"],
];

foreach ($marks as $key => ['Java' => $java, 'Algorithms' => $algo, 'DBMS' => $dbms]) {
    echo "$key : Java => $java, Algorithms => $algo, DBMS => $dbms\n";
}
Rahul : Java => 80, Algorithms => 72, DBMS => 88
Anita : Java => 90, Algorithms => 84, DBMS => 88