John Brunner
John Brunner

Reputation: 2872

How to add dynamic keys in PHP array

I don't have a glue how to solve my problem. I want to produce an array like this one:

$days = array( 
            02=>array(NULL,'request_day'), 
            03=>array(NULL,'request_day'), 
            04=>array(NULL,'request_day'), 
            05=>array(NULL,'request_day'), 
        );

I need this to display the requested days on a calendar. Now I deal with a problem that I'm not able to generate dynamic keys (the the keys 02/03/04/05 as stated above).

My code looks like that:

    $days = array();
    $array_framework = array(NULL,'request_day');
    foreach ( $period as $dt )
    {
        echo $dt->format("d");
        $blub = $dt->format("d");
        $days[] = array($blub=>$array_framework);
    }

$period is an array which represent the days between two dates, and $blub prints out one day after another.

Upvotes: 0

Views: 168

Answers (2)

Baba
Baba

Reputation: 95111

Remove $days[] = array($blub=>$array_framework); and use:

$days[$blub] = $array_framework;

Upvotes: 1

James C
James C

Reputation: 14149

I think that this is what you want to do. If you have problems with the array keys being turned from strings (e.g. 03) into integers (e.g. 3) then cast the array key to a string.

$days = array();
$array_framework = array(NULL,'request_day');
foreach ( $period as $dt )
{
    $days[$dt->format("d")] = $array_framework;
}

Upvotes: 0

Related Questions