为什么我的PHP字符串被转换为1?

时间:2010-04-25 03:34:46

标签: php string variables

好的,所以这是快速的破坏。我有一个生成页码的功能。

此:

<?php
die($ani->e->tmpl->pages("/archive", 1, 15, 1, true));
?>

会像预期的那样输出Single Page

但是这个:

<?php
$page_numbers = $ani->e->tmpl->pages("/archive", 1, 15, 1, true);
?>
<?= $page_numbers ?>

会向页面输出一个简单的1。为什么它会转换为1?我希望它将'Single Page'字符串存储到page_numbers变量中,然后输出它(如echo)完全相同。

编辑:运行var_dump($page_numbers)返回int(1) ...

以下是上下文中的整个功能:

<?php
// other functions...
function show_list() {
    global $ani;
    $page_numbers = $ani->e->tmpl->pages("/archive", 1, 15, 1, true);
    ob_start();
?>
<!-- content:start -->
<?php
    $archive_result = $ani->e->db->build(array("select" => "*", "from" => "animuson_archive", "orderby" => "0-time", "limit" => 15));
    while ($archive = $ani->e->db->fetch($archive_result)) {
?>
<h2><a href="/archive/article/<?= $archive['aid'] ?>/<?= $archive['title_nice'] ?>"><?= $archive['title'] ?></a></h2>
<!-- breaker -->
<?php
    }
?>
<?= var_dump($page_numbers) ?>
<!-- content:stop -->
<?php
    $ani->e->tmpl->process("box", ob_get_clean());
}
// other functions...
?>

1 个答案:

答案 0 :(得分:2)

$ page_numbers在两个示例中都是一个整数。还有其他事情正在发生。您需要发布pages()方法的代码。我怀疑ob_start()做了一些奇怪的事情,因为将整数1传递给die ()将永远不会打印1(它将以返回码1退出)。

PS:为什么我不能像其他人一样发表评论?