PHP ucwords/ucfirst 回显错误但适用于 var_dump

PHP ucwords/ucfirst error on echo but works on var_dump

我正在使用 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>

但还是不行,有人遇到同样的错误吗?谢谢

语句末尾缺少分号 替换

<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>

可能 $class 不是字符串。

尝试:

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

你可以这样试试

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