Как мне получить значения из массива в строке php? - PullRequest
0 голосов
/ 03 июня 2011

У меня есть два значения в массиве, которые я хочу отобразить в строковой переменной, которую я строю.Эти значения являются динамическими и могут быть изменены, поэтому я хочу иметь возможность построить строку прямо из массива.Я думал, что был на правильном пути, но значения не отображаются.

Мой код:

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

Вывод:

WHERE transdate >= "" AND transdate <= ""

Ответы [ 3 ]

4 голосов
/ 03 июня 2011

У меня в 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 действительно имеет данные.

1 голос
/ 03 июня 2011

Попробуйте удалить кавычки в элементе массива .. Я думаю, что это будет работать ..

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

0 голосов
/ 21 декабря 2012

Почему вы используете фреймворк и не используете его ORM?

$this->ModelName->find('all', array(
    'conditions' => array(
        'ModelName.transdate BETWEEN ? AND ?' => array(
            $halfway['startdate'],
            $halfway['enddate']
         )
    )
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...