0

Hi I have this multi dimensional array in PHP:

$team_arrays = array (
                        "lakers" => array (
                                        24 => "Bryant",
                                        6  => "Price",
                                        17 => "Lin"
                        ),

                        "knicks" => array (
                                        7 => "Anthony",
                                       22 => "Shumpert",
                                       12 => "Jackson"
                        ),

                        "thunder" => array (
                                       35 => "Durant",
                                       0  => "Westbrook",
                                       13 => "Miller"
                        )
                    );

I wanted to display something like this:

Team Name: lakers

  1. Bryant = 24
  2. Price = 6
  3. Lin = 17

Team Name: knicks

  1. Anthony = 7
  2. Shumpert = 22
  3. Jackson = 12

...

This is the code that I tried but seems not to work:

foreach ($team_arrays as $names => $team) {
                        echo "<h2>Team Name: " . $names . "</h2>";
                        echo "<ol>";
                            foreach ($team_arrays as $jersey => $names) {
                                echo "<li>" . $names . " = " . $jersey . "</li>";
                            }
                        echo "</ol>";
                    }

It generates this kind of error

Notice: Array to string conversion in

Would anyone tries for a help. Please.

I found this solution from other question but seems I can't relate to it.

3 Answers 3

0

There is only one small problem in your code

foreach ($team_arrays as $jersey => $names) {
         ^ // again looping over the same outer array?

That inner loop is wrong, you should loop over $team and not $team_arrays because your outer loop picks up each team using $team variable.

foreach ($team as $jersey => $names) {

Rest of your code and logic is already fine.

Fiddle

Sign up to request clarification or add additional context in comments.

Comments

0

You need to change this line from;

 foreach ($team_arrays as $jersey => $names) {

to:

   foreach ($team as $jersey => $names) {

Comments

0

Change to foreach ($team as $jersey => $names)

Try this :

$team_arrays = array (
                        "lakers" => array (
                                        24 => "Bryant",
                                        6  => "Price",
                                        17 => "Lin"
                        ),

                        "knicks" => array (
                                        7 => "Anthony",
                                       22 => "Shumpert",
                                       12 => "Jackson"
                        ),

                        "thunder" => array (
                                       35 => "Durant",
                                       0  => "Westbrook",
                                       13 => "Miller"
                        )
                    );

 foreach ($team_arrays as $names => $team) {
                        echo "<h2>Team Name: " . $names . "</h2>";
                        echo "<ol>";
                            foreach ($team as $jersey => $names) {
                                echo "<li>" . $names . " = " . $jersey . "</li> \n";
                            }
                        echo "</ol>";
                    }                   
 ?>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.