奇怪的PHP问题
问题描述:
我的功能看起来像奇怪的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 . "/";
我在哪里做错了?
答
你做echo
代替
$dir = $parentdir . "/";
if (is_string($folder))
$dir.= $folder . "/";
你是什么意思 “_escapes这PART_”? – penartur 2012-02-21 07:11:04
@penartur不会回显echo $文件夹。 “/”;即使$文件夹有确切的字符串值 – heron 2012-02-21 07:13:23
@epic_syntax是否尝试添加周围的括号'if(..){'echo ....'}'? – fyr 2012-02-21 07:17:40