комбинация printf и sprintf добавляет число к форматированной строке - PullRequest
0 голосов
/ 24 ноября 2018

Я использую следующий код в PHP для создания якорной ссылки.

<?php
                echo printf(
                    '<a href="%s">Modifica</a>',
                    sprintf(
                        '%s&tab=edit-parrocchia&id=%s',
                        menu_page_url( 'holy-mass', false ),
                        $parrocchia->id
                    ));
                ?>

Я получаю "Modifica128" с Modifica в качестве якоря, который ссылается на правильный ресурс.Но я не могу понять, откуда взялась цифра 128.Если я изменю длину строки формата, число изменится.

1 Ответ

0 голосов
/ 24 ноября 2018

Lose echo

printf возвращает длину напечатанной строки, поэтому echo printf($text) печатает как текст $, так и его длину.

Кстати, вам не нужнообъедините printf и sprintf вот так.Вы можете просто использовать printf.

<?php
printf(
    '<a href="%s&tab=edit-parrocchia&id=%s">Modifica</a>',
    menu_page_url( 'holy-mass', false ),
    $parrocchia->id
));
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...