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

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like ```this```. You don't need to escape code in backticks, Markdown does that for you.

Sadly, it's kind of broken. WordPress only accepts a subset of HTML in comments, which makes sense, because certainly some HTML can't be allowed, like <script> tags. But this stripping happens before the comment is processed by Markdown (via Jetpack). It seems to me that would be reversed, because after Markdown processes code in backticks, it's escaped, thus safe. If you think you can fix this issue, get in touch!

If you need to make sure the code (typically HTML) you post absolutely posts correctly, escape it and put it within <pre><code> tags.

Current ye@r *

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