Grow your CSS skills. Land your dream job.

Last updated on:

Associative Array Syntax

Simple

$carParts = array( 
   'Tires'=>100, 
   'Window'=>1042, 
   'DoorHandle'=>917 
);

Array of Associative Arrays

public $notifyPartners = array(
			array(
				'name' => 'Twitter', 
				'tag'  => 'Social Network', 
				'url'  => ''),
			array(
				'name' => 'Campaign Monitor', 
				'tag'  => 'Email Marketing', 
				'url'  => ''),
			array(
				'name' => 'Sendloop', 
				'tag'  => 'Email Marketing', 
				'url'  => ''),
			array(
				'name' => 'Highrise', 
				'tag'  => 'CRM', 
				'url'  => '')
);

Looping

foreach ($carParts as $key => $value) {
 echo $key.'=>'.$value.'<br />';
}
while ($element = each($carParts)) {
 echo $element['key'];
 echo ' - ';
 echo $element['value'];
 echo '<br />';
}

Comments

  1. Nachzeher
    Permalink to comment#

    Thank’s for the tips!

    It was very useful to me!

  2. Using your looping example won’t work on a multidimensional array (you call it an array of arrays).

    Example would be:
    $count = count( $notifyPartners );

    for($x = 0; $x < $count; $x++){
    echo $notifyPartners[$x]['name'] . "”;
    echo $notifyPartners[$x]['tag'] . “”;
    echo $notifyPartners[$x]['url'] . “”;
    }

  3. Dimitrios
    Permalink to comment#

    Another example (portable) .

    $a = array(
    array(
    ‘name’ => ‘Twitter’,
    ‘tag’ => ‘Social Network’,
    ‘url’ => ”),
    array(
    ‘name’ => ‘Campaign Monitor’,
    ‘tag’ => ‘Email Marketing’,
    ‘url’ => ”),
    array(
    ‘name’ => ‘Sendloop’,
    ‘tag’ => ‘Email Marketing’,
    ‘url’ => ”),
    array(
    ‘name’ => ‘Highrise’,
    ‘tag’ => ‘CRM’,
    ‘url’ => ”));

    foreach ($a as $loop1) {
    foreach ($loop1 as $key => $val) {
    echo $key .” : “. $val .””;
    }
    }

  4. hem
    Permalink to comment#

    it would have been better had you shown the results of looping for the benefit of the newbies.

  5. Ventura
    Permalink to comment#

    Great site, helped me a lot. I found very interesting tricks, Greetings.

  6. dibiler
    Permalink to comment#

    Your last example:
    while ($element = each($carParts)) {
    echo $element['key'];
    echo ‘ – ‘;
    echo $element['value'];
    echo ”;
    }
    Can be put in a foreach better:
    foreach ($carParts as $element)
    {
    echo $element['name'];
    echo $element['tag'];
    echo $element['url'];
    }
    or if you don’t know the keys (Dimitrios example):
    foreach ($carParts as $element)
    {
    foreach ($element $k=>$v)
    echo $k.’:’.$v;
    }
    also, for performance, it’s a bit faster using a FOR loop, as Karl Groves wrote.

  7. for the while loop couldn’t you do this too? :

    $message = "";
    
    while ($element = each($carParts))
       {
          $message .= "$element['key']  -  $element['value'] <br>";
       }
    

    To reduce lines of code and in essence, avoid errors by accidentally mistyping echo or something?

  8. Why call it “Array of Associative Arrays” instead of calling it multidimensional array?

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
    ``` 
    <div>
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
    </div>
    ```
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".