일부 체크 박스 값을 배열로 추출하려고합니다. 내 문제는 배열 ($ is_types)입니다. 나는 $ 기대 배열로 is_types하고, (하나, 둘, 셋) 배열을 말한다 :결과 in_array를 배열로 변환
<?php
if (!is_array($types)) {
$types = array();
}
$filtered_array = array_filter($types);
$is_types = in_array($type, $filtered_array);
$output = _get_array(array($is_types), $bla, $bla2);
?>
UPDATE : 는 내가 달성하기 위해 노력하고 무엇을 바꿔해야합니다. 옵션이있는 체크 박스가 하나 있습니다 : 하나, 둘, 셋 등. 체크 할 때만 옵션을 저장해야합니다. 저장되는 것을 확인하는 것은 $ is_types로 충분하며 bool을 반환합니다. 그런 다음이 확인란을 기반으로 콘텐츠를 집계하기 위해 다른 쿼리를 수행해야합니다. 내가 필터링 확인란에 따라 배열 (하나, 둘, 셋)이있는 경우 즉, 다음 쿼리를
UPDATE2을 실행
function _get_array($type, $view_mode, $limit = NULL) {
$node = menu_get_object();
$build = array();
$query = new EntityFieldQuery();
$created = isset($node) ? $node->created : 'now';
$query
->entityCondition('entity_type', 'node')
->entityCondition('bundle', $type, is_array($type) ? 'IN' : '=')
->propertyCondition('status', 1)
->propertyOrderBy('created', 'DESC')
->propertyCondition('created', $created, '<');
if ($limit != NULL) {
$query->range(0, $limit);
}
$result = $query->execute();
if (!empty($result['node'])) {
$nodes = entity_load('node', array_keys($result['node']));
$build[] = node_view_multiple($nodes, $view_mode);
}
return !empty($build) ? $build : array();
}
확인란은 어떤 값으로 체크 박스입니다. 그래서 _get_array (array ($ is_types), $ bla, $ bla2)를 쿼리합니다. 이 확인란으로 필터링 된 모든 노드를로드해야합니다.
모든 힌트는 대단히 감사하겠습니다. 감사합니다.
UPDATE3 : 감사합니다. 그 대답은 계속 이어져있었습니다. 내가 필요한 것은 다음과 같습니다 : $ filtered_array
'**. 정확히'$ is_types'가 어떻게 보이길 원합니까? –
최종 목표는 무엇입니까? 'in_array'는 배열이 아닌 bool을 반환합니다. 배열에 * 캐스트 할 수는 있지만 원하는 것이 아닌 것 같습니까? –
배열 ($ is_types)은 배열 (1, 2, 3)이어야합니다. 감사합니다 – swan