admin管理员组

文章数量:1335386

I'm sure there is a simple reason/answer for this: Why does

echo 'Archive for '. the_time('Y');

give me 2010Archive for? I had expected it would give me Archive for 2010

I'm sure there is a simple reason/answer for this: Why does

echo 'Archive for '. the_time('Y');

give me 2010Archive for? I had expected it would give me Archive for 2010

Share Improve this question edited Dec 6, 2010 at 13:52 gillespieza asked Dec 6, 2010 at 13:47 gillespiezagillespieza 1,2855 gold badges26 silver badges46 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 8

As most template tags that start with the_ this one echoes time and not returns it (which template tags that start with get_the_ do).

First the_time() fires and echoes year, then its return (null) gets concatenated and echoed with string.

So:

echo 'Archive for ';
the_time('Y');

Or:

echo 'Archive for ' . get_the_time('Y');

You can also use ',' instead of '.' for concatenating strings in echo funcion.

echo 'Archive for ' , the_time('Y');

本文标签: phpWhy does this echo values in the wrong order