Простой вопрос о том, как написать мои записи в виде массива PHP - PullRequest
0 голосов
/ 01 августа 2011

Я использую скрипт автозаполнения jQuery, но проблема в том, что я не знаю, что добавить правильно в файле search.php.

это учебник jQuery

<?php
$q = strtolower($_GET["q"]);
if (!$q) return;
$items = array(
    "Peter Pan"=>"peter@pan.de",
    "Molly"=>"molly@yahoo.com",
    "Dr. Write"=>"write@writable.com"
);

$result = array();
foreach ($items as $key=>$value) {
    if (strpos(strtolower($key), $q) !== false) {
        array_push($result, array(
            "name" => $key,
            "to" => $value
        ));
    }
}
echo json_encode($result);
?>

рабочий JSON для этого jquery выглядит следующим образом

    [
        {
        label: "anna c13",
        category: "Products"},
    {
        label: "john black",
        category: "Products"},
    {
        label: "anders andersson",
        category: "People"}
    ]

Как я могу преобразовать мой JSON в массив, как указано выше?

Спасибо.

1 Ответ

0 голосов
/ 01 августа 2011

Ваш PHP должен создать массив, который сам содержит серию ассоциативных массивов.Затем вы должны передать это через json_encode и отправить его в браузер.

Запустите код

http://codepad.org/ibD8kGWG

Код

<?php
//outer array
$responseCollection = Array();


//logic to ceate inner arrays:
for( $i = 1; $i < 5; $i++ )
{
  $responseCollection[] = Array(
    'label' => 'label ' . $i,
    'category' => 'category ' . $i
  );
}

//json encode it
$json = json_encode( $responseCollection );

echo $json;
...