array problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • julian_m

    array problem

    let's say that I've an array like this:

    $AL_array = Array (
    [0] => Array ( [23] => 1 ) ,
    [1] => Array ( [24] => 2 ) ,
    [2] => Array ( [25] => 3 ) ,
    [3] => Array ( [35] => 4 ) ,
    [4] => Array ( [23] => 1 ) ,
    [5] => Array ( [31] => 2 ) ,
    [6] => Array ( [32] => 1 ) ,
    );

    and I want to output

    key 23 => level 1
    key 24 => level 2
    key 25 => level 3
    key 35 => level 4
    key 23 => level 1
    key 31=> level 2
    key 32=> level 1


    I've tried "list" without luck, and I cant see where could be the
    problem....


    for ($i = 1; $i <= count($AL_array ); $i++){

    list($id, $level) = $AL_array[$i];
    echo "key $id => level: $level<br>";
    }

    above code prints

    key => level
    key => level
    key => level
    key => level
    key => level
    key => level
    key => level

    (without the array values)

    Any hint?

    regards - jm

  • pkp

    #2
    Re: array problem


    julian_m писал(а):
    [color=blue]
    > let's say that I've an array like this:
    >
    > $AL_array = Array (
    > [0] => Array ( [23] => 1 ) ,
    > [1] => Array ( [24] => 2 ) ,
    > [2] => Array ( [25] => 3 ) ,
    > [3] => Array ( [35] => 4 ) ,
    > [4] => Array ( [23] => 1 ) ,
    > [5] => Array ( [31] => 2 ) ,
    > [6] => Array ( [32] => 1 ) ,
    > );
    >
    > and I want to output
    >
    > key 23 => level 1
    > key 24 => level 2
    > key 25 => level 3
    > key 35 => level 4
    > key 23 => level 1
    > key 31=> level 2
    > key 32=> level 1
    >
    >
    > I've tried "list" without luck, and I cant see where could be the
    > problem....
    >
    >
    > for ($i = 1; $i <= count($AL_array ); $i++){
    >
    > list($id, $level) = $AL_array[$i];
    > echo "key $id => level: $level<br>";
    > }
    >
    > above code prints
    >
    > key => level
    > key => level
    > key => level
    > key => level
    > key => level
    > key => level
    > key => level
    >
    > (without the array values)
    >
    > Any hint?
    >
    > regards - jm[/color]



    Try please this:
    /////////////////////////////////////////////////////////////////////////
    while(list($id, $level) = each($AL_array) )
    {
    list($id1, $level1) = each($level);
    echo "key $id1 => level: ".$level1."<br> ";
    }
    /////////////////////////////////////////////////////////////////////////

    Comment

    • David Haynes

      #3
      Re: array problem

      julian_m wrote:[color=blue]
      > let's say that I've an array like this:
      >
      > $AL_array = Array (
      > [0] => Array ( [23] => 1 ) ,
      > [1] => Array ( [24] => 2 ) ,
      > [2] => Array ( [25] => 3 ) ,
      > [3] => Array ( [35] => 4 ) ,
      > [4] => Array ( [23] => 1 ) ,
      > [5] => Array ( [31] => 2 ) ,
      > [6] => Array ( [32] => 1 ) ,
      > );
      >
      > and I want to output
      >
      > key 23 => level 1
      > key 24 => level 2
      > key 25 => level 3
      > key 35 => level 4
      > key 23 => level 1
      > key 31=> level 2
      > key 32=> level 1
      >
      >
      > I've tried "list" without luck, and I cant see where could be the
      > problem....
      >
      >
      > for ($i = 1; $i <= count($AL_array ); $i++){
      >
      > list($id, $level) = $AL_array[$i];
      > echo "key $id => level: $level<br>";
      > }
      >
      > above code prints
      >
      > key => level
      > key => level
      > key => level
      > key => level
      > key => level
      > key => level
      > key => level
      >
      > (without the array values)
      >
      > Any hint?
      >
      > regards - jm
      >[/color]
      <?php
      $AL_array = array (
      0 => array ( 23 => 1 ) ,
      1 => array ( 24 => 2 ) ,
      2 => array ( 25 => 3 ) ,
      3 => array ( 35 => 4 ) ,
      4 => array ( 23 => 1 ) ,
      5 => array ( 31 => 2 ) ,
      6 => array ( 32 => 1 )
      );

      foreach( $AL_array as $al ) {
      foreach( $al as $key => $level ) {
      printf("key %d => level %d\n", $key, $level);
      }
      }
      ?>

      -david-

      Comment

      Working...