2012-02-21 84 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 . "/";