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