I have a multidimensional array and I want to print the contents as follows:
JavaScript
x
Sam
class1: 76
class2: 62
class3: 56
class4: 60
Matt
class1: 76
class2: 62
class3: 56
class4: 60
Dave
class1: 76
class2: 62
class3: 56
class4: 60
Steve
class1: 76
class2: 62
class3: 56
class4: 60
My problem is that I don’t know how to refer to the key of the first sub-array (the names). key($index)
just replaces all of the names in the output with “class1”. Here’s my code so far:
JavaScript
$scoreList = array(
"Sam" => array(
"class1" => 76,
"class2" => 62,
"class3" => 56,
"class4" => 60,
),
"Matt" => array(
"class1" => 76,
"class2" => 62,
"class3" => 56,
"class4" => 60,
),
"Dave" => array(
"class1" => 76,
"class2" => 62,
"class3" => 56,
"class4" => 60,
),
"Steve" => array(
"class1" => 76,
"class2" => 62,
"class3" => 56,
"class4" => 60,
));
printGrade($scoreList["Sam"]);
printGrade($scoreList["Matt"]);
printGrade($scoreList["Dave"]);
printGrade($scoreList["Steve"]);
function printGrade($index) {
Print key($index)."<br>";
for($i = 1; $i <= 4; $i++)
{
Print "class".$i.": ".$index["class".$i]."<br>";
};
echo "<br>";
}
I’m pretty new to web development, so if anyone has any hints I’d really appreciate it!
Edit: Am I getting closer…?
JavaScript
function printGrade($index) {
foreach ($index as &$value) {
print array_keys($index).": ".$value."<br>";
}
echo "<br>";
}
Advertisement
Answer
Try with this :
JavaScript
foreach($scoreList as $key => $val)
{
echo $key."</br>";
foreach( $val as $keyItem => $valKey)
{
echo $keyItem ." : ".$valKey."</br>";
}
}
Out put:
JavaScript
Sam
class1 : 76
class2 : 62
class3 : 56
class4 : 60
Matt
class1 : 76
class2 : 62
class3 : 56
class4 : 60
Dave
class1 : 76
class2 : 62
class3 : 56
class4 : 60
Steve
class1 : 76
class2 : 62
class3 : 56
class4 : 60