echo(PHP)

时间:2015-06-12 10:47:22

标签: php html arrays

我创建了一个函数,它根据数组函数返回有关网站的信息。功能如下:

site_info('sitename');

返回:

Example Site Name

使用与此类似的代码:

 function site_info($info) {
     $array = array('sitename' => 'Example Site Name');
     echo $array[$info];
 }

我希望打印这些未格式化的内容,然后将其格式化,例如:

echo '<title>'.site_info('sitename').'</title>';

然而,这打印成:

Example Site Name <title></title>

有谁知道为什么会这样?我的一个想法是,也许是因为函数回显了输出,然后在另一个输入中,它不喜欢它 - 如果是这样的话,是否有解决方法?

2 个答案:

答案 0 :(得分:3)

使用return inside函数而不是eacho,并确保使用正确的数组键,如:

 function site_info($info) {
     $array = array('sitename' => 'Example Site Name');
     return $array['sitename']; // in your case there will be $info as key
 }

答案 1 :(得分:1)

你必须return函数的值 -

 function site_info($info) {
     $array = array('sitename' => 'Example Site Name'); // ' was missing
     return $array[$info];
 }

然后在echo -

中调用该函数
echo '<title>' . site_info('sitename') . '</title>'; // ' was missing