2012-02-21 82 views
1

我的功能看起来像奇怪的PHP问题

protected function make_js_link($list, $folder, $parentdir = "js") { 
     $links = array(); 

     $list = explode(',', $list); 

     foreach ($list as $name) { 
      $dir = $parentdir . "/"; 
      if (is_string($folder)) 
       echo $folder . "/"; 
      $links[] = '<script src="' . $dir . trim($name) . '.js"></script>' . "\n"; 
     } 

     echo implode(" ", $links); 
    } 

所以当js文件位于$parentdir我打电话一样,

  $this->make_js_link('ckeditor', 0, 'incl/editor'); 

如果文件位于parentdir/another_dir,然后像

调用
  $this->make_js_link('jquery', 'adapters', 'incl/editor'); 

问题是,PHP在这两种情况下都逃脱了这一部分:即使我有文件夹变量与确切的字符串值:

 if (is_string($folder)) 
      echo $folder . "/"; 

我在哪里做错了?

+0

你是什么意思 “_escapes这PART_”? – penartur 2012-02-21 07:11:04

+0

@penartur不会回显echo $文件夹。 “/”;即使$文件夹有确切的字符串值 – heron 2012-02-21 07:13:23

+0

@epic_syntax是否尝试添加周围的括号'if(..){'echo ....'}'? – fyr 2012-02-21 07:17:40

回答

3

你做echo代替

$dir = $parentdir . "/"; 
if (is_string($folder)) 
    $dir.= $folder . "/";