关于echo的PHP ucwords / ucfirst错误但适用于var_dump

时间:2015-02-26 11:54:10

标签: php string codeigniter uppercase

我正在使用Codeigniter,请看下面的内容:

<?php 
    $class = $this->router->fetch_class();
    $method = $this->router->fetch_method();

    var_dump($class);
    var_dump(ucwords($class));
    var_dump(ucwords(strtolower($class)));
?>

<ol class="breadcrumb">
    <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>

    <!-- this one is not working -->
    <li><a href="<?php echo site_url($class) ?>"><?php echo $page_alias ? $page_alias : ucwords(strtolower($class)) ?></a></li>
    <!-- end of this one is not working -->


    <li class="active"><?php echo ucwords($method); ?></li>
</ol>

var_dump() 上的字符串有效,但在本节中它根本不起作用

<li><a href="<?php echo site_url($class) ?>"><?php echo $page_alias ? $page_alias : ucwords(strtolower($class)) ?></a></li>

我尝试删除 strtolower ,如下所示:

<li><a href="<?php echo site_url($class) ?>"><?php echo $page_alias ? $page_alias : ucwords($class) ?></a></li>

但仍然无法工作,有人在这里有同样的错误吗?谢谢

3 个答案:

答案 0 :(得分:1)

声明结尾处缺少分号 替换

<li><a href="<?php echo site_url($class) ?>"><?php echo $page_alias ? $page_alias : ucwords($class) ?></a></li>

<li><a href="<?php echo site_url($class);?>"><?php echo ($page_alias ? $page_alias : ucwords($class)); ?></a></li>

答案 1 :(得分:0)

也许$ class不是字符串。

尝试:

<li><a href="<?php echo site_url($class) ?>"><?php echo $page_alias ? $page_alias : strtolower(var_export($class, TRUE)) ?></a></li>

答案 2 :(得分:0)

你可以这样试试

$class = $this->router->fetch_class();
$nameClass = (string)$class;
echo ucfirst($nameClass);