2011-06-03 45 views
0

我有一個數組中的兩個值,我想要顯示在我正在構建的字符串變量中。這些值是動態的,並且可能會發生變化,所以我希望能夠從數組中直接構建字符串。我以爲我在正確的軌道上,但價值觀沒有顯現出來。如何讓數組中的值顯示在一個PHP字符串中?

我的代碼:

$range = "WHERE transdate >= \"{$halfway['startdate']}\" AND transdate <= \"{$halfway['enddate']}\""; 

輸出:

WHERE transdate >= "" AND transdate <= "" 
+1

我希望你事先逃脫你的陣列 – knittl 2011-06-03 16:37:18

回答

4

下面的代碼適用於php 5.3.5 cli。我沒有修改過的字符串

$halfway = array(
    'startdate' => 'somedate', 
    'enddate' => 'otherdate' 
); 

$range = "WHERE transdate >= \"{$halfway['startdate']}\" AND transdate <= \"{$halfway['enddate']}\""; 

print $range; 

輸出:

WHERE transdate >= "somedate" AND transdate <= "otherdate" 

檢查$halfway實際上有數據。

+0

+1,表示同意。 '$ halfway'有些問題。 – 2011-06-03 16:30:51

+0

哇...哈哈。我在數組之前構建了字符串。謝謝 – tehman 2011-06-03 16:32:19

1

嘗試在數組元素去掉引號。我認爲這工作..

WHERE transdate >= \"{$halfway[startdate]}\" AND transdate <= \"{$halfway[enddate]}\"

+0

ahh nope,那沒有做到。 – tehman 2011-06-03 16:27:56

+0

根據[我的測試](http://www.ideone.com/q9QU1),要麼工作。告訴我'$ halfway'對象有問題。 – 2011-06-03 16:29:16

+0

「WHERE transdate> ='$ halfway [startdate]'AND transdate <='$ halfway [enddate]'」; 那怎麼樣? – 2011-06-03 16:31:31

0

爲什麼你使用框架而不使用它的ORM?

$this->ModelName->find('all', array(
    'conditions' => array(
     'ModelName.transdate BETWEEN ? AND ?' => array(
      $halfway['startdate'], 
      $halfway['enddate'] 
     ) 
    ) 
)); 
相關問題