Действительно простой вопрос значения ключа массива PHP - PullRequest
0 голосов
/ 01 октября 2011

Допустим, у меня есть следующая таблица в моей базе данных:

Name        | Description      | Image

App         | Some description | somefile.png
Another App | Another descript | anotherfile.png

Что я хочу сделать, это создать массив JSON, подобный этому:

{
    "App": {
        "name": "App",
        "description": "Some description",
        "Image": "somefile.png"
    },
    "Another App": {
        "name": "Another App",
        "description": "Another descript",
        "Image": "anotherfile.png"
    }
}

Что я борюсьс нажатием пары ключ> значение.Я могу вставить только значение с помощью неключевого массива, но я не могу вставить пару ключ> значение в мой массив.

Что я пробовал:

$res = mysql_query('SELECT * FROM `apps`;');
if ($res) {
    $temp = array();
    while ($row = mysql_fetch_array($res)) {
        $name = $row['name'];
        $descript = $row['description'];
        $img = $row['image'];
        $new = array('name'=>$name,'description'=>$descript,'img'=>$img);
        array_push($temp,$new); // how do I make this push with a key?
    }
}
echo json_encode($temp);

Моя проблемас функцией array_push () - я хочу, чтобы она нажимала с именем в качестве ключа, но я не могу его получить.

1 Ответ

2 голосов
/ 01 октября 2011

Попробуйте это:

while ($row = mysql_fetch_array($res)) {
    $name     = $row['name'];
    $descript = $row['description'];
    $img      = $row['image'];

    $temp[$name] = array('name'=>$name,'description'=>$descript,'img'=>$img);
}
...