멋진 배열의 값을 기준으로 확인란을 선택하려고합니다. 내 PHP에서Smarty가 array_search를 사용하여 선택된 확인란을 선택했습니다.
는
$smarty->assign('locations_array',array(4,6,9,7));
나는 배열을 통해 검색 할하고있는 경우 일치는 확인란을 선택합니다. 여기 내 템플릿에서 시도한 것이지만 작동하도록 할 수는 없습니다. array_search에 필요한 바늘과 건초 더미를 어떻게 전달할 수 있는지 잘 모르겠습니다.
{foreach $locations as $x}
{if $x.id == $x.id|@array_search:$locations_array}
<label><input checked type="checkbox" name="locations[]" value="{$x.id}"/>{$x.title}</label>
{else}
<label><input type="checkbox" name="locations[]" value="{$x.id}" />{$x.title</label>
{/if}
{/foreach}
사용자 정의 기능을 만들지 않고도 가능합니까?
는 내가이 작업을 찾은 것 같아 {경우 $ x.id | array_search : $의 locations_array을}는 것은 배열하고 그 배열이 함수 뒤에 pased되면 @에만 사용됩니다 – andrew
. 대신 : 문제는 마지막 상자가 locations_array – andrew
앤드류의 id의 일치 위치 ID 년대에도 불구 확인되고 있다는 점이다 {$ x.id 경우 | array_search : $의 locations_array}, 항상 사용합니다 : { if $ x.id | array_search : $ locations_array! == false} 그렇지 않으면 $ x.id가 배열의 키 0에서 발견되면 원하지 않을 때이 if-test가 실패합니다. 여기 경고를 참조하십시오 : http://php.net/manual/en/function.array-search.php –