2014-01-21 2 views
0

다른 배열에변환 배열 출력은 ... 내가 올바른 질문을하지만, 여기에 간다하고있어 확실하지 않다

$tags = get_tags(array('exclude' => 46,5,101,22,122,7,102,15,104,47,105,66,43,123, 'fields' => ids)); 
$tagString = implode (',' , $tags); 
echo $tagString; 

를 추가 그것은 나에게 쉼표로 구분 된 숫자 (올바른 숫자는 너무나 다행 스럽다)의 멋진 목록을 제공한다. 그러나, 나는 ... 그것은 내가 그것을 반환 할 때 폭발 만 사용하여 제안 된

$args = array(
'post_type' => 'post', 
'tag__in' => array (46, 5, 101, 22, 122, 7, 102, 15, 104, 47, 105, 66, 43, 123), 
'tag__not_in' => array (comma separated list output by echo $tagString in same format as 'tag__in') 
); 

... 나는 다음과 같이 더 많은 코드에 포함 할를 에코하지 않으

Array ([0] => 10 [1] => 121 [2] => 20 [3] => 36 etc etc) 

모든 서식을 잃고 쉼표로 구분 된 목록 만 가져와야합니다.

아마도 내가이 잘못에 다다를 것이고 어쩌면 나는 감각이 없지만 누군가가 내가 성취하려는 것을 따라갈 수 있기를 바랍니다. 어떤 도움을 주셔서 감사합니다.

오른쪽 라인에 내 이름을 써 넣는 제임스 감사합니다 :

은 그것은 나에게 여기까지 ... Trouble including array output in another array

업데이트를 가지고이 질문에 연결되어 있습니다. 이것은 트릭을 한 코드입니다 ...

명확하게하기 위해 배열 이름을 변경했습니다. 블록 2

답변

1

나는 당신이 무엇을 요구하고 있는지 확실하지 않습니다. 첫째, 나는 원래 배열이 전혀 작동한다는 것에 놀랐습니다. 연관 배열과 그 배열을 나타내는 증분 배열을 혼합하여 사용하고 있습니다. exclude가 배열 자체가

$excludeArr = array(46,5,101,22,122,7,102,15,104,47,105,66,43,123); 
$tags = get_tags(array('exclude' => $excludeArr, 'fields' => ids)); 
$tagString = implode (',' , $tags); 
echo $tagString; 

:

당신이 뭔가를 시도 할 수 있습니다. 그런 다음 : innot_in 이후하지만, 동일하게 표시하기 때문에 그 $args 배열의

$args = array(
'post_type' => 'post', 
'tag__in' => $excludeArr, 
'tag__not_in' => $excludeArr 
); 

것도 많이하지 않습니다. 당신은 그냥 문자열로 $excludeArr을해야하는 경우이 개 별도의 배열을 보여 요청한

, 당신은 implode(",", $excludeArr);

편집

당신의 업데이 트를 본 후, 나는 내 대답을 편집하고있어 수 있습니다.

$includeTags = array(46,5,101,22,122,7,102,15,104,47,105,66,43,123); 
$excludeTags = get_tags(array('exclude' => $includeTags, 'fields' => ids)); 

$args = array(
    'post_type' => 'post', 
    'posts_per_page' => 12, 
    'paged' => $paged, 
    'tag__in' => $includeTags, 
    'tag__not_in' => $excludeTags 
); 
+0

그냥'in'과'not_in' - 그들은 기본적으로 반대입니다. 'in'은 내가 고칠 때 수동으로 나열한 모든 ID입니다. 'not_in'은 새로운 태그/ID가 추가되면 바뀔 것입니다. 그래서 나는 (Wordpress 함수 인) 제외 목록에있는 태그 ids를 제외하고는'get_tags'를 사용할 수있는'get_tags' 함수를 사용하여 그것을 계산하려고합니다. 따라서'in'은 목록에있는 태그 ids를 포함하고'not_in'은 기본적으로'$ tags' \'$ tagString'을 제외한 모든 태그입니다 –

+0

James, 코드를 알기 쉽게하기 위해 기본적으로 올바른 줄에 넣었습니다. 내가 원하는만큼 정확하게 일 했어. 그 기준으로 질문에 코드를 추가하고 답변을 수정하고 싶다면 체크 할 수 있습니다. 제 질문이 혼란 스럽다는 것을 압니다. –

+0

@PaulBrown 업데이트 내용을 확인했지만 질문은 어디에 있습니까? 아직 작동하지 않는 것을 추가 할 수 있습니까? 문자열이되도록 제외 및 포함 배열이 모두 필요합니까? – James

1

당신은

$args = array(
'post_type' => 'post', 
'tag__in' => $tagString, 
); 
+0

이 예제에서는 $ tagString''후 어떤 결말 쉼표를이 없어야합니다. 편집을 시도했지만 그것을 통과하지 못했을 것 같아요. – James

+0

@James 완벽하게 쉼표를 붙일 필요는 없지만 유효하지만 선호하는 사람이 있습니다 (문법이 아닌 코드 작성 :-)) –

+0

맞아요. 방금 테스트 했어. 이전에 쉼표 다음에 키/값이 필요하다고 말했을 때 실수를 저질렀다고 맹세 할 수있었습니다. 아 ~. – James

0

은 당신의 가장 친한 친구가이 단순히 문자열로 전체 배열 내용을 변환

serialize() 

(http://www.php.net/manual/de/function.serialize.php)

라는 사용하지 못할. :)

+0

감사합니다 - 여기 1am입니다 영국에서 자세한 내용을 보게 될 것입니다. 표지판을 이해합니다. –

0
$includeTags = array(46,5,101,22,122,7,102,15,104,47,105,66,43,123); 
$excludeTags = get_tags(array('exclude' => $includeTags, 'fields' => ids)); 

$args = array(
'post_type' => 'post', 
'posts_per_page' => 12, 
'paged' => $paged, 
'tag__in' => $includeTags, 
'tag__not_in' => $excludeTags 
); 
관련 문제