深入理解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>\n";
    $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']))); 

printf

# 格式如下:%['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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值