【发布时间】:2015-02-01 17:15:50
【问题描述】:
注意:致反对者和需要进一步澄清的人......
我试图找到一个解决方案,而不是遍历循环。即,我不想使用
foreach函数。
很抱歉这个疯狂的标题。我想要实现的是,我有两个数组,比如:
$full = array("Apple", "Orange", "Mango", "Guava", "Tomato");
$user = array("Apple", "Orange", "Tomato");
我将它作为 JSON 获取,并使用 json_decode() 将其从 JSON 转换为数组。现在我的问题是,我想将此输入用于我的函数,它会返回如下内容:
$userSelection = array(
"Apple" => true,
"Orange" => true,
"Mango" => false,
"Guava" => false,
"Tomato" => true
);
为此,我可以这样做:
function userSelection ($full, $user)
{
$final = array();
foreach ($full as $fruit)
if (in_array($fruit, $user))
$final[$fruit] = true;
else
$final[$fruit] = false;
return $final;
}
为了压缩一些位,我使用了这个。
function userSelection ($full, $user)
{
$final = array();
foreach ($full as $fruit)
$final[$fruit] = in_array($fruit, $user);
return $final;
}
我的问题是,还有其他更好的方法吗?
【问题讨论】:
-
你在找什么?喜欢单线解决方案?
-
你不能压缩比你在压缩函数中所做的更多...
-
我不知道为什么我被否决了。不完全是单行答案,而是不使用
foreach。
标签: php arrays json performance coding-style