2017-09-07 2 views
0

array_combine을 사용할 때 두 개의 배열을 결합하여 루프를 사용할 수 있습니다. 아래 예에서 HTML로 $ title을 사용할 수 있습니다.2 개 이상의 Smarty 배열 결합

{foreach array_combine($p_titles, $p_prices) as $title => $price}<!--SOME HTML-->{/foreach}  

그러나이 솔루션에 다른 배열을 추가하려고하면 중단됩니다. 내 로컬 호스트는 "페이지가 작동하지"로컬 호스트는 현재이 요청을 처리 할 수 ​​없습니다 이외의 오류를 표시하지 않습니다. "

{foreach array_combine($p_titles, $p_prices, $p_ids) as $title => $price => $id}<!--SOME HTML-->{/foreach} 

나는이 방법을 사용하여 3 개 이상의 배열을 결합하려면 어떻게합니까.

+0

는 사람이 대답에 제공 한 후 게시 멋진 아닌 것을 변경. 이렇게하면 유사한 쿼리를 검색하여 올바른 대답을 찾는 사람들이 사용할 수 없게됩니다. –

+0

더 나은 질문을 표시하면 사람들이 쉽게 찾을 수 있다고 가정합니다. 조언 감사합니다. – user3841443

+0

나는 당신이 요구 한 것을 제공하기 위해 나의 대답을 업데이트했다. –

답변

0

먼저 모든, 당신은 당신이 당신이 PHP는 질문에 보여 주었다 그러나 무엇 Javascript 태그.

둘째는 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 } 
+0

주어진 예제에서는 {foreach} 메서드를 사용하고있었습니다. 그러나 나는 이것을 귀하의 솔루션과 함께 사용할 수 있습니까? 이전과 같이 각 배열에서 변수를 만듭니다. 즉. {$ title}. – user3841443

+0

방금 ​​퇴근했으며 내 대답을 업데이트 할 수 없습니다. 집에 오기를 기다리면 코드와 일치하는 답을 제공해 드리겠습니다. –

+0

도와 드릴까요? – user3841443

관련 문제