Почему моя строка PHP конвертируется в 1? - PullRequest
0 голосов
/ 25 апреля 2010

Хорошо, вот краткое изложение. У меня есть функция для генерации номеров страниц.

Это:

<?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, а затем выведет ее (как эхо) точно так же.

РЕДАКТИРОВАТЬ: Запуск 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 Ответ

2 голосов
/ 25 апреля 2010

$ page_numbers - целое число в обоих примерах. Что-то еще происходит. Вам нужно будет опубликовать код метода pages(). Я подозреваю, что ob_start () делает что-то странное, поскольку передача целого числа 1, чтобы умереть (), никогда не будет печатать это 1 (он завершится с кодом возврата 1).

PS: Почему я не могу сделать комментарий, как все остальные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...