>백엔드 개발 >PHP 튜토리얼 >printf와 sprintf의 응용

printf와 sprintf의 응용

WBOY
WBOY원래의
2016-08-08 09:20:44948검색

<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);

printf('the cost of %d %s at $%0.2f each is $%0.2f.', 4, 'brooms', 8.50, (4*8.50));

echo '<br>';
$tax = 30;
printf('The tax rate is %0.2f%%', $tax);
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Sorting Multidimensional Arrays</title>
</head>
<body>
<?php
$db = mysqli_connect('192.168.31.172', 'root', 'root', 'phpadvanced');
mysqli_query($db, "set names utf8");

if(!empty($_POST['task'])) {
    $parent_id = 0;
    if(isset($_POST['parent_id']) && filter_var($_POST['parent_id'], FILTER_VALIDATE_INT, ['min_range' => 1])) {
        $parent_id = $_POST['parent_id'];
    }

    $q = sprintf("INSERT INTO tasks (parent_id, task) VALUES (%d, '%s')", $parent_id, mysqli_real_escape_string($db, strip_tags($_POST['task'])));
    $r = mysqli_query($db, $q);

    if(mysqli_affected_rows($db) == 1) {
        echo '<p>任务添加成功</p>';
    } else {
        echo '<p>任务添加失败</p>';
    }
}
?>
    <form action="add_task.php" method="post">
        <fieldset>
            <legend>添加一个任务</legend>
            <p>任务: <input name="task" type="text" size="60" maxlength="100" required> </p>
            <p>上级任务: <select name="parent_id">
                    <option value="0">无上级</option>

                    <?php
                    $q = 'SELECT task_id, parent_id, task FROM tasks WHERE date_completed="0000-00-00 00:00:00" ORDER BY date_added ASC';
                    $r = mysqli_query($db, $q);
                    $tasks = [];
                    while(list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM)) {
                        echo "<option value=\"$task_id\">$task</option>";
                        $tasks[] = ['task_id' => $task_id, 'parent_id' => $parent_id, 'task' => $task];
                    }
                    ?>
                </select></p>
            <input name="submit" type="submit" value="添加这个任务" />
        </fieldset>
    </form>

<?php
    // 对任务的父id进行排序
    function parent_sort($x, $y) {
        return ($x['parent_id'] > $y['parent_id']);
    }
    usort($tasks, 'parent_sort');
    echo '<h2>当前的任务列表</h2><ul>';
    foreach ($tasks as $task) {
        echo "<li>{$task['task']}</li>\n";
    }
echo '</ul>';
?>
</body>
</html>

이상으로 관련 내용을 포함하여 printf와 sprintf의 응용을 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.