Store array in while loop to use outside

arrays, php

Solution

You need to set value properly.

            $movies_id = array();

            while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                $id = $row['id'];
                $title_id = $row['title_id'];
                    $movies_id[$id] = $title_id; // The proper way
                    //$movies_id[] = [$id => $title_id];
            }

            print_r($movies_id);

The more readable code would be:

            $movies_id = array();

            while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                    $movies_id[$row['id']] = $row['title_id'];
            }
            print_r($movies_id);

And would result in

array (
    1 => 'Title 1',
    2 => 'Title 2',
    4 => 'Title 4',
    8 => 'Title 8',
)

And key-less soulution would be:

            $movies_id = array();

            while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                    $movies_id[] = $row['title_id'];
            }
            print_r($movies_id);

And would result in

array (
    0 => 'Title 1',
    1 => 'Title 2',
    2 => 'Title 4',
    3 => 'Title 8',
)

Problem

I would like to store value from while loop but not in multidimensional way : ``` $movies_id = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $id = $row['id']; $title_id = $row['title_id']; $movies_id[] = [$id => $title_id]; } print_r($movies_id); ``` I am not getting the way, how to do it, if i just write `$movies_id = [$id => $title_id];` it only shows the last value. Thank you by advance.

Original source