如何从PHP中的函数返回key =>值对

时间:2011-12-01 20:41:13

标签: php return-value key-value

我需要从函数返回一个键值对。最好保留数据结构。我想避免创建一个只有一个值的数组,如果可能,因为我不关心语法key($result[0])或带有两个值的数组,因为我想要一些语法或结构建议键=&gt ;值之间的值关系。是否有更优雅的替代数组用于从php中的函数返回多个值?

6 个答案:

答案 0 :(得分:6)

你真的只能使用array()

return array("key1" => "value1", "key2" => "value2");

其他任何事情都会变得更加丑陋或更加令人困惑。

答案 1 :(得分:1)

怎么样:

function getData () {
  return array('key','value');
}

list($key,$value) = getData();
echo $key." = ".$value;

虽然我必须说,这听起来像一个奇怪的具体而且很大程度上是化妆品的要求......

答案 2 :(得分:1)

你能不能像数组那样返回数组中的值?

return array('key' => $key, 'value' => $value);

你也可以这样做:

return array($key => $value);

但在我看来,这涉及到更多的工作需要使用。

答案 3 :(得分:0)

返回一个数组。

return array("key" => "value");

答案 4 :(得分:0)

这是@polynomial 提出的一个可能很有趣的完整示例:

//Function declaration with a return of a key value pair array
function getUserRating(){
  return array(
    'rating' => $rating, 
    'average'  => $average
  );
}

// Retrieve one of the key value pair 
getUserRating()['rating'];
// Retrieve the other key value pair 
getUserRating()['average'];

认为这种魔法只适用于 PHP 7 或更高版本吗?我的天啊!它适用于 PHP 5.4!

答案 5 :(得分:-1)

我是否误解了您的问题,或者您不想要return array('aKey' => 'aVal');