使用array_combine时,我能够组合两个数组并使用循环。在下面的示例中,我可以在HTML中使用$ title。
{foreach array_combine($p_titles, $p_prices) as $title => $price}<!--SOME HTML-->{/foreach}
但是,如果我尝试向此解决方案添加另一个数组,则会中断。我的本地主持人不会显示错误而不是&#34; Page not work&#34; localhost当前无法处理此请求。&#34;
{foreach array_combine($p_titles, $p_prices, $p_ids) as $title => $price => $id}<!--SOME HTML-->{/foreach}
如何使用此方法组合3个或更多阵列。
答案 0 :(得分:0)
首先,您标记了Javascript
但是您在问题中显示的是PHP。
其次,array_combine
只接受两个参数。 Documentation
要将array_combine
用于三个数组,请执行以下操作:
$combinedArray = array_combine($p_titles, $p_prices);
$combinedArray = array_combine($combinedArray, $p_ids);
编辑:与普通PHP语法中的代码匹配的答案。
$result = array();
foreach($p_titles as $key => $value)
{
$result[$value] = array('price' => $p_prices[$key], 'id' => $p_ids[$key]);
}
echo($result);
您可以访问以下数据:$result['title']['price']
或$result['title']['id'];
修改2 :以及Smarty
代码。
我不熟悉Smarty
语法,所以这可能不起作用:
{ $result = array(); }
{ foreach from=$p_titles key=key item=value }
{ $result[$value] = array('price' => $p_prices[$key], 'id' => $p_ids[$key]) }
{ /foreach }