博客列表 >数值运算常用途径;字符串拼接注意事项;流程控制语句与导入外部文件;

数值运算常用途径;字符串拼接注意事项;流程控制语句与导入外部文件;

CC
CC原创
2021年01月28日 18:30:11514浏览

运算中的注意事项

  • 取整除运算
  1. <?php
  2. printf('5/3的整数是:%d',(5 / 3));
  • 取模运算(取于运算)
  1. <?php
  2. $year = date('Y');
  3. // 润年:能被4整除,但不能被100整除
  4. if ($year % 4 == 0 && $year % 100 !== 0) {
  5. printf('%d年是闰年', $year);
  6. } else {
  7. printf('%d年不是闰年', $year);
  8. }
  • 递增预算 ++$a: 先执行$a = $a + 1后, 再用$a
  1. <?php
  2. $a=10;
  3. printf('++a=%d,$a=%d',++$a,$a);
  • 递增预算$a++: 先用$a, 再执行$a = $a + 1
  1. <?php
  2. $a=10;
  3. // $a++: 先用$a, 再执行$a = $a + 1
  4. printf('$a++ = %d, $a = %d<br>', $a++, $a);
  • 赋值运算$a = $a + $b等同于$a += $b
  1. $a = 1;
  2. $b = 2;
  3. // $a = $a + $b;
  4. // echo $a;
  5. // echo '<br>';
  6. $a += $b;
  7. echo $a;
  1. <?php
  2. $a = 1;
  3. $b = 2;
  4. $a = $a + $b;
  5. echo $a;
  6. echo '<br>';
  7. // $a += $b;
  8. // echo $a;
  • 拼接运算
  1. <?php
  2. // php.cn
  3. $str = 'php';
  4. // $str = $str . '.cn';
  5. $str .= '.cn';
  6. echo $str;
  • 网页拼接运算
  1. <?php
  2. $list = '<ul>';
  3. $list .= '<li>item1</li>';
  4. $list .= '<li>item2</li>';
  5. $list .= '<li>item3</li>';
  6. $list .= '</ul>';
  7. echo $list;
  • ==、===区别

==值相等
===要求值,类型全相同(多用)

  1. <?php
  2. // "==": 只要求值相等就是true,如果二边类型不同则自动转换
  3. var_export(100 == '100');
  4. var_export(100 == (int)'100');
  5. var_export((string)100 == '100');
  6. echo '<br>';
  7. // "===": 要求值,类型全相同才返回true
  8. var_export(100 === '100');
  9. var_export(100 === (int)'100');
  10. echo '<hr>';
  • 判断两值运算,结果:小于-1,大于1,等于0
    太空船运算执行原理
  1. <?php
  2. $a = 25;
  3. $b = 15;
  4. if ($a < $b) {
  5. echo '-1';
  6. } elseif ($a > $b) {
  7. echo '1';
  8. } else{
  9. echo '0';
  10. }
  • 太空船运算符
  1. <?php
  2. $a = 25;
  3. $b = 15;
  4. echo $a<=>$b;
  • 与或非
  1. <?php
  2. // 逻辑,
  3. // 与 &&, 或 ||, 非 !
  4. // 要求二边的操作数都bool,如果不是就自己动手
  5. // 第一个,&&true永不执行,叫: 短路求值
  6. var_dump(false && true );
  7. var_dump(true && false );
  8. var_dump(false || true );
  9. var_dump(false || false );
  10. var_dump(!false, !true );
  • 实际应用
    1. <?php
    2. $username = 'admin';
    3. if (isset($username) && $username === 'admin') {
    4. echo '欢迎管理员:' . $username;
    5. } else {
    6. echo '请登录';
    7. }
    1. <?php
    2. $username = 'admin';
    3. // 为空设置
    4. if (isset($username) && $username === 'admin') {
    5. echo '欢迎管理员:' . $username;
    6. } else {
    7. echo '请登录';
    8. }
    9. echo '<br>';
    10. if (!isset($email)) {
    11. echo '没有输入邮箱';
    12. }
    三元运算在实际表单中应用
    1. #http://php.io/0125/demo21.php?p=5
    2. <?php
    3. $page = isset($_GET['p']) ? $_GET['p'] : 1;
    4. echo 'p = ' . $page, '<hr>';
    null 合并运算符, 给变量一个默认值,用在表单中
    1. <?php
    2. $page = $_GET['p'] ?? 1;
    3. echo 'p = ' . $page, '<hr>';
    粘性表单应用
    1. <?php
    2. $page = $_GET['p'] ?? 1;
    3. echo 'p = ' . $page, '<hr>';
    4. ?>
    5. <input type="text" value="<?=$_GET['p'] ?? 1?>">
  • 双引号用于模板字面量
  • 转义字符,\n: 换行, \r:回车, \t:tab, \, \$
  • nl2br函数使转义字符有作用
    1. <?php
    2. $name = '笔';
    3. $price=100;
    4. echo '品名:'.$name.'<br>价格:'.$price;
    5. // 模板字面量
    6. // 去掉连接符,单引号,变量前面加{}
    7. $template=nl2br(" 品名:{$name}\n价格:{$price}");
  • 双引号替代语法
    1. <?php
    2. // heredoc: 双引号字符串替代语法
    3. // 比较适合输出大量的多行的内部存在变量的html代码
    4. echo <<< SHOW
    5. <table border="1" width="200">
    6. <tr><th>品名</th><td>{$name}</td></tr>
    7. <tr><th>价格</th><td>{$price}</td></tr>
    8. </table>
    9. SHOW;
  • 单引号替代语法
    1. echo <<< 'SHOW'
    2. <table border="1" width="200">
    3. <tr><th>品名</th><td>手机</td></tr>
    4. <tr><th>价格</th><td>3599</td></tr>
    5. </table>
    6. SHOW;

    流程控制

    if 单分支
  1. <?php
  2. $age =25;
  3. if($age>=18){
  4. echo '成年了';
  5. }
  6. echo '<br>';
  7. // 省略大括号同时,还要加endif
  8. if($age>=18):
  9. echo '成年了';
  10. endif;
  11. echo '<br>';

if 双分支

  1. <?php
  2. $age = 14;
  3. if ($age >= 18) {
  4. echo '成年了';
  5. } else {
  6. echo '未成年';
  7. }
  8. echo '<br>';
  9. // 省略大括号同时,还要加endif
  10. if ($age >= 18) :
  11. echo '成年了';
  12. else :
  13. echo '未成年';
  14. endif;
  15. echo '<br>';
  16. // 三元运算符
  17. echo $age>=18 ?'成年了' :'未成年';

if switch多分支

  1. <?php
  2. $age = 65;
  3. if ($age >= 18 && $age < 60) {
  4. echo '成年了';
  5. } elseif ($age >= 60) {
  6. echo '退休了';
  7. // 默认分支
  8. } else {
  9. echo '未成年';
  10. }
  11. echo '<br>';
  12. // 省略大括号同时,还要加endif
  13. if ($age >= 18 && $age < 60) :
  14. echo '成年了';
  15. elseif ($age >= 60) :
  16. echo '退休了';
  17. else :
  18. echo '未成年';
  19. endif;
  20. echo '<br>';
  21. switch ($age) {
  22. case $age >= 18 && $age < 60:
  23. echo '成年了';
  24. break;
  25. case $age >= 60:
  26. echo '退休了';
  27. break;
  28. default:
  29. echo '未成年';
  30. }
  31. echo '<br>';
  32. switch ($age) :
  33. case $age >= 18 && $age < 60:
  34. echo '成年了';
  35. break;
  36. case $age >= 60:
  37. echo '退休了';
  38. break;
  39. default:
  40. echo '未成年';
  41. endswitch;

switch在增删改网页的操作

  1. <?php
  2. // switch更多用在单值判断
  3. switch ($_GET['action']):
  4. case 'insert':
  5. echo '<script>alert("新增成功")</script>';
  6. break;
  7. case 'update':
  8. echo '<script>alert("更新成功")</script>';
  9. break;
  10. case 'delete':
  11. echo '<script>alert("删除成功")</script>';
  12. break;
  13. default:
  14. echo '<script>alert("非法操作")</script>';
  15. endswitch;

php在hetml中写入

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <hr>
  10. <h3>以下是html中的php </h3>
  11. <?php $age = 15 ?>
  12. <?php if ($age >= 18 && $age < 60) : ?>
  13. <p>恭喜,到了刑法规定的年龄</p>
  14. <?php elseif ($age >= 60) : ?>
  15. <p>监外执行,不要浪费国家粮食了</p>
  16. <?php else : ?>
  17. <p>听说,现在刑事责任年龄降到了14周岁了</p>
  18. <?php endif
  19. ?>
  20. </body>
  21. </html>

while

  • 入口判断型
    1. <?php
    2. $city= ['深圳','广东','珠海'];
    3. // echo count($city);
    4. // 1. 条件循环
    5. // 1.1. 入口型 while(){...}
    6. // 1. 循环条件的初始值
    7. // $i 是要遍历的数组的索引,默认从0开始
    8. $i =0;
    9. while ($i <count($city)){
    10. echo $city[$i],'<br>';
    11. $i++;
    12. }
    for循环
  1. <?php
  2. $city= ['深圳','广东','珠海'];
  3. // 计算式, for
  4. // for()可以视为while的简化
  5. // for (初始条件; 循环条件; 更新条件)
  6. // for ($i = 0;$i < count($cities); $i++) {
  7. // echo $cities[$i], '<br>';
  8. // }
  9. for ($i = 0;$i < count($city); $i++) :
  10. echo $city[$i], '<br>';
  11. endfor;
  12. echo' <br>';
  13. // 用的更多的是foreach遍历数组
  14. foreach($city as $citys){
  15. echo $citys;
  16. }

导入外部文件

  • require === include + exit;
  • require多用
  1. <?php
  2. // include 'index.html';
  3. // exit;
  4. require 'index.html';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议