深入理解PHP:高级技巧、面向对象与核心技术(原书第3版) -- 高级 PHP 技巧
echo "<pre>";
$students = array(
256 => array("name" => "Jon", "grade" => 98.5),
2 => array("name" => "Vance", "grade" => 85.1),
9 => array("name" => "Stephen", "grade" => 94.0),
364 => array("name" => "Steve", "grade" => 85.1),
68 => array("name" => "Rob", "grade" => 74.6)
);
// Name sorting function:
function name_sort($x, $y) {
return strcasecmp($x["name"], $y["name"]);
}
// Sort by name:
uasort($students, "name_sort");
echo print_r($students, 1); // 1 保存结果,而不是打印结果
echo "<pre>";
$students = array(
256 => array("name" => "Jon", "grade" => 98.5),
2 => array("name" => "Vance", "grade" => 85.1),
9 => array("name" => "Stephen", "grade" => 94.0),
364 => array("name" => "Steve", "grade" => 85.1),
68 => array("name" => "Rob", "grade" => 74.6)
);
function name_sort($x, $y) {
// Show iterations using a static variable:
static $count = 1;
echo "<p>Iteration $count: {$x["name"]} vs. {$y["name"]}</p>
";
$count++;
return strcasecmp($x["name"], $y["name"]);
}
// Sort by name:
uasort($students, "name_sort");
echo "<h2>Array Sorted By Name</h2><pre>" . print_r($students, 1) . "</pre>";
echo "<pre>";
$students = array(
256 => array("name" => "Jon", "grade" => 98.5),
2 => array("name" => "Vance", "grade" => 85.1),
9 => array("name" => "Stephen", "grade" => 94.0),
364 => array("name" => "Steve", "grade" => 85.1),
68 => array("name" => "Rob", "grade" => 74.6)
);
uasort($students, function($x, $y) {
return strcasecmp($x["name"], $y["name"]);
});
// Sort by name:
uasort($students, "name_sort");
echo "<h2>Array Sorted By Name</h2><pre>" . print_r($students, 1) . "</pre>";
if (isset($_GET["id"]) && filter_var($_GET["id"], FILTER_VALIDATE_INT, ["options"=>["min_range"=>1]]) ) {
$id = $_GET["id"];
} else {
$id = 0;
}
echo $id;
$q = sprintf("INSERT INTO tasks (parent_id, task) VALUES (%d, "%s")", $parent_id, mysqli_real_escape_string($dbc, strip_tags($_POST["task"])));
# 格式如下:%["padding_character"][-][width][.precision]type
所有的转换说明都是以%开始,如果想打印一个%符号,必须用%%.
参数"padding_character"是可选.它将被用来填充变量直至所指定的宽度.该参数的作用就在变量前面填充.默认的填充字符是一个空格,如果指定0或者空格,就不需要 " 单引号作为前缀,其他字符就必须指定 " 作为前缀.
参数 - 是可选.它指左对齐,默认是右对齐.
参数width是指被替换的变量的长度.
参数precision表示以小数点开始.它指明小数点后要显示的位数.
参数type 是类型码,请看下表:
类型 | 含义
b | 解释为整数并作为二进制输出.
c | 解释为整数并作为字符表示输出(ASCII码).
d | 解释为整数并作为整数输出.
f | 解释为双精度并作为浮点数输出.
o | 解释为整数并作为八进制数输出.
s | 解释为字符串并为字符串输出.
u | 解释为整数并作为非指定小数输出.
x | 解释为整数并作为带有小写字母a-f的十六进制数输出
X | 解释为整数并作为带有大写字母A-F的十六进制数输出
printf("%0.2f",12); // 12.00
printf("%0.2f",12.2); // 12.20
printf("%0.2f",12.23); // 12.23
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 深入理解PHP原理之Opcodes
- 下一篇: 深入理解php内核