php中的sprintf(),printf()

来源:互联网 发布:sql select as 编辑:程序博客网 时间:2024/06/06 02:06

函数中常见设置数值的格式

  • b表示二进制整数
  • s表示字符串
  • d表示十进制整数
  • c表示ascii整数
  • o表示八进制整数
  • u表示无符号十进制整数
  • f表示浮点数
  • x表示十六进制整数
  • e表示科学计数
<html><head>    <meta http-equiv="content-type" charset="utf-8" /></head><body><?php    //连接数据库失败以后,使用die结束程序    $dbc = @mysqli_connect('localhost','root','gonglishan520','xsphpdb') or die('<p>could connect database</p>');    //这里先判断是否提交过来,然后判断有没有数据    if(isset($_POST['submitted']) && !empty($_POST['task'])){        //判断是否有父路径        if(isset($_POST['parent_id'])){            //进行强制类型转换,确保parent_id是个整数            $parent_id = (int)$_POST['parent_id'];           }else{            $parent_id = 0;           }        /**使用mysqli_real_escape_string处理提交的字符串,确保其安全 *使用sprintf来连接sql语句,使得语句更简洁,更易于调试             */        $q = sprintf("insert into tasks(parent_id,task) values(%d,'%s')",$parent_id,mysqli_real_escape_string($dbc,$_POST['task']));        $r = mysqli_query($dbc,$q);               //确保操作成功        if(mysqli_affected_rows($dbc) == 1){            echo '<p>the task has been added!</p>';           }else{            echo '<p>the task could not be added!</p>';        }    }       echo '<form action="test.php" method="post">    <fieldset>    <legend>add a task</legend>    <p>task:<input name="task" type="text" size="60" maxlength="100"></p>    <p>parent task:<select name="parent_id"><option value="0">none</option>       ';          $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($dbc,$q);       $tasks = array();       while(list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)){        echo "<option value=\"$task_id\">$task</option>\n";               $tasks[] = array('task_id'=>$task_id, 'parent_id'=>$parent_id, 'task'=>$task);       }       echo '</select></p>    <input name="submitted" type="hidden" value="true">    <input name="submit" type="submit" value="add this task">       </form>    </fieldset>    ';       function parent_sort($x,$y){        return ($x['parent_id'] > $y['parent_id']);       }    //用户自定义排序方法    usort($task,'parent_sort');       echo '<h3>current to do list</h3><ul>';       foreach($tasks as $task){        echo "<li>{$task['task']}</li>\n";       }       echo '</ul>';?></body></html>

如果想在字符串中表示百分号,就再添加一个百分号对其进行转义

printf('the tax rate is %0.2f%%', $tax);


0 0
原创粉丝点击