$ _SESSION [] внутри двойной кавычки - PullRequest
0 голосов
/ 24 октября 2011
$_SESSION['result'] = '2011-08-14 20:34:12';

echo $dateTime = "$_SESSION['result'] +1 hour";

Ожидаемый результат: '2011-08-14 20:34:12 +1 час'

Я знаю, что в двойной кавычке есть ошибка, но не знаю, как ее исправить. Может кто-нибудь мне помочь? Было бы очень признателен, если кто-нибудь может дать некоторые объяснения, спасибо!

Ответы [ 7 ]

4 голосов
/ 24 октября 2011
$_SESSION['result'] = '2011-08-14 20:34:12';

$dateTime = "{$_SESSION['result']} +1 hour";

echo($dateTime);
2 голосов
/ 24 октября 2011

Используйте это:

$dateTime = "{$_SESSION['result']} +1 hour";

или это:

$dateTime = $_SESSION['result'] . " +1 hour";

, а затем

echo($dateTime);
1 голос
/ 24 октября 2011

Вы можете найти множество примеров доступа к элементам массива в PHP: Array - Array, что можно и нельзя .

$arr = array('foo'=>1234, 'bar'=>array('baz'=>'abcdef'));

// simply no quotes within double-quoted string literals
echo "foo: $arr[foo]\n";
// echo "foo: $arr[bar][baz]\n"; <- doesn't work as intended

// curly-braces -> same syntax as outside of a string literal
echo "foo: {$arr['foo']}\n";
echo "foo: {$arr['bar']['baz']}\n";

// string concatenation
echo "foo: ". $arr['foo'] ."\n";
echo "foo: ". $arr['bar']['baz'] ."\n";

// printf with placeholder in format string
printf("foo: %s\n", $arr['foo']);
printf("foo: %s\n", $arr['bar']['baz']);

// same as printf but it returns the string instead of printing it
$x = sprintf("foo: %s\n", $arr['foo']);
echo $x;
$x = sprintf("foo: %s\n", $arr['bar']['baz']);
echo $x;
1 голос
/ 24 октября 2011

Я предлагаю вам прочитать о строках в документации PHP . То, что вы хотите здесь, называется конкатенацией.

$_SESSION['result'] = '2011-08-14 20:34:12';

$dateTime = $_SESSION['result'] . ' +1 hour';

echo $dateTime;

Также обратите внимание на последнюю строку, которую вы хотите повторить $dateTime после того, как вы установили ее содержимое.

1 голос
/ 24 октября 2011

Вы можете объединить строку

echo $dateTime = $_SESSION['result']." +1 hour";
0 голосов
/ 24 октября 2011

$ _ SESSION ['result'] = '2011-08-14 20:34:12';

echo $ dateTime = $ _SESSION ['result']. "+1 час";

Попробуйте выше.

0 голосов
/ 24 октября 2011

Используйте одинарную кавычку для строки и ничего для переменной, в вашем случае.

echo $dateTime = $_SESSION['result'].' +1 hour';
...