Несколько ответов от функции - PullRequest
0 голосов
/ 08 октября 2010

Я пытаюсь, чтобы эта функция возвращала несколько результатов в массиве (?).

Таким образом, вместо того, чтобы запускать lookup("354534", "name"); и lookup("354534", "date"); несколько раз для разных результатов, как я могу вернуть имя и дату из этой функции, а затем вывести ее, чтобы мне пришлось использовать функцию только один раз?

    function lookup($data, $what)
 {
  $json = file_get_contents("http://site.com/".$data.".json");
  $output = json_decode($json, true);  
  echo $output['foo'][''.$what.''];
 }

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 октября 2010

подставьте echo в вашу функцию с помощью return и верните весь массив:

function lookup($data){
  ...
  return $output;
  }

...

$results = lookup($someData);
echo $results['name'] . $results['date'];
0 голосов
/ 08 октября 2010

Пусть функция вернет весь результат JSON:

function lookup($data)
{
    $json = file_get_contents("http://site.com/".$data.".json");
    $output = json_decode($json, true);  
    return $output["foo"];
}

, тогда вы можете сделать

$result = lookup("354534");

echo $result["name"];
echo $result["date"];

Это действительно хорошая идея, потому что в противном случае вы сделаетемедленно) file_get_contents запрашивает несколько раз, чего вы хотите избежать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...