0

I am fetching for some values from the database, and i need to dynamicaly create a multidimensional array to look like this:

$found_data = 
array( 
    array('2011-11-02' => 'Mobile'),
    array('2011-11-02' => 'Mobile'),
    array('2011-11-04' => 'Mobile'),
    array('2011-11-08' => 'Desktop'),
    array('2011-11-08' => 'Mobile'),
    array('2011-11-08' => 'Mobile'),
    array('2011-11-08' => 'Mobile'),
    array('2011-11-15' => 'Mobile'),
    array('2011-11-18' => 'Mobile'),
    array('2011-11-21' => 'Desktop'),
    array('2011-11-23' => 'Mobile'),
    array('2011-11-28' => 'Desktop'),
    array('2011-11-30' => 'Mobile')
);

I am thinking something in the lines of:

$found_data = array();

while($last_30_days_fetch = mysql_fetch_assoc($last_30_days_result))
{
    $hit_date = $last_30_days_fetch['hit_date'];
    $hit_device = $last_30_days_fetch['hit_device'];    
    array_push($found_data, array($clean_date=>$hit_device));

}

However the above code, does not work as intended. Any ideas?

// Thanks

3 Answers 3

1

You are using a variable $clean_date that is not defined. Check your error_reporting level it should report this (undefined variable).

PHP allows the use of the [] syntax to append elements to an array.

$found_data = array();

while($last_30_days_fetch = mysql_fetch_assoc($last_30_days_result))
{
    $found_data[] = array(
        $last_30_days_fetch['hit_date'] => $last_30_days_fetch['hit_device']
    );
}
Sign up to request clarification or add additional context in comments.

Comments

0
$found_data = array();

while($last_30_days_fetch = mysql_fetch_assoc($last_30_days_result))
{
    $found_data[] = array($last_30_days_fetch['hit_date']=>$last_30_days_fetch['hit_device']);
}

why over complicate it or as Dan says put it into a single array there's no need for a multi array unless there's additional data you're not telling us about

Comments

0

Could you not just use:

$array[$hit_date] = $hit_device

1 Comment

i could not, since i needed the data packed in an array: $found_data.

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.