2010-10-25 119 views
2

只是一個快速新手PHP語法問題。PHP:如何在數組中放置一個變量?

我有一個變量,我們稱之爲$tabs總是包含用逗號分隔的一串數字,像這樣:24,35,43,21

我也有一個變量,它是一個數組:

$args = array('post_type' => 'page', 'post__in' => array(27,19,29), 'order' => 'ASC'); 

這就是課程WordPress。我需要做的是將$tabs變量(數字)的內容放在數組內的數字所在的位置。我對PHP很陌生,只知道如何修改一些東西,但是我無法弄清楚,也不知道它的語法應該如何。

任何人都可以提供幫助嗎?謝謝。

回答

8
$args['post__in'] = array_merge($args['post__in'], explode(',', $tabs)); 

讓我們來解釋一下我這樣做了,你可以拿起一兩件事:

  1. explode(',', $tabs)將字符串分割成在分隔件,並把數組中的碎片。
  2. array_merge($arr1, $arr2)將合併這兩個數組。
  3. $args['post__in']將訪問由鍵指定的數組元素。

請注意,array_merge,在這種情況下,只會附加值,最終可能會有重複的數字。爲了擺脫重複只是在array_unique包裝合併。像這樣:

$args['post__in'] = array_unique(array_merge($args['post__in'], explode(',', $tabs))); 

,當然還有,當你只是想用新的品牌來代替這些數字的簡單的情況是

$args['post__in'] = explode(`,`, $tabs); 
+0

+1如果他想追加。如果他想追加或替換,則不明確。 (並解釋) – Jason 2010-10-25 20:13:07

+0

我現在添加了獨特的選項。 – 2010-10-25 20:14:05

+1

太棒了,非常感謝。第一次有人真正解釋瞭解決方案,所以我可以從中學習。 @Jason她;) – Justine 2010-10-25 20:18:12

2

$args['post__in'] = explode(",",$tabs);

相關問題