2012-06-08 52 views
1

以下代碼按特定字段從數據庫中過濾帖子。PHP變量確定數組函數..可能嗎?

array('key' => 'telephone', 'value' => '0','compare' => '>') 

其他一些因素決定是否可能存在另一個數組。問題是需要工作的代碼會返回一個變量。 $filters;

這可能

$filters = array('key' => 'mobile', 'value' => '0','compare' => '>') 

array('key' => 'telephone', 'value' => '0','compare' => '>') . $filters 

如果不是這怎麼可能工作。

澄清

這是該函數將需要這是結構。

'meta_query' => array(
array('key' => 'telephone', 'value' => '0','compare' => '>'), 
array('key' => 'mobile', 'value' => '0','compare' => '>') 
         ) 

但我們不能寫出來像其他因素決定,這些疑問將是什麼。我們必須像包含數組的變量一樣進入'meta_query'數組。

+1

要合併兩個數組還是什麼? – alexn

+1

您可能正在尋找[array_merge](http://php.net/array_merge),或者查看[array operators](http://php.net/manual/en/language.operators.array.php)可以使用'+'號來創建2個數組的聯合。 – drew010

回答

0

我假設你正試圖在一個數組中傳遞多個過濾器。

使用.將不起作用,因爲這是一個字符串連接操作。

使用此數組的數組:

$filters[] = array('key' => 'mobile', 'value' => '0','compare' => '>'); 
$filters[] = array('key' => 'telephone', 'value' => '0','compare' => '>'); 

得到正確的格式簡單的功能:

$meta['meta_query']=$filters; 
+0

如果可以幫助,添加一些更多的信息 –

+0

適用於我的幾個修改...好東西 –

1

我認爲你正在嘗試做的array_merge()。有關詳細信息,請參見http://php.net/manual/en/function.array-merge.php,但它的工作原理類似於:

$filters = array('key' => 'telephone', 'value' => '0','compare' => '>'); 
$filters = array_merge($filters, array('key' => 'telephone', 'value' => '0','compare' => '>')); 
print_r($filters); 
// array('key' => 'telephone', 'value' => '0', 'compare' => '>') 
+0

增加了一些更多的信息來澄清。 –