Blogger Information
Blog 49
fans 0
comment 0
visits 38133
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
初识循环、超全局变量及 网络请求
超超多喝水
Original
495 people have browsed it

初识循环、超全局变量及 网络请求

while(){}循环

  • while(){}循环的括号内是判断条件,这里需要注意里面的条件需要是一个有限的条件,得让这个循环有机会结束,否则就会陷入死循环
  • do{}while()循环,是先执行后判断,无论条件如何他都会先执行一次
  1. //while
  2. $num = 10;
  3. while ($num <= 20) {
  4. echo $num;
  5. echo "<hr>";
  6. $num++;
  7. }
  8. //do while
  9. do {
  10. echo $num;
  11. echo "<hr>";
  12. $num++;
  13. } while ($num > 20);

for(){}循环

  • for 循环的括号内有三条语句,初始值,条件,初始值的运算
  • for 循环可以加 if 条件判断,判断中加入 break 使其达到终止的效果
  • for 循环可以加 if 条件判断,判断中加入 continue 使其达到跳过某一条件的效果
  • 结合 mt_rand()函数制作彩色验证码小案例
  1. <?php
  2. //自定义64位数据,验证码从其中产生数据
  3. $code = "12defghjABCDEFGHkmnpJKLMNPQRSTUWq3459abcdefgh6XYZ78jkmnpqwuvxyz";
  4. //生成彩色验证码
  5. for ($i = 0; $i <= 3; $i++) {
  6. @$num .= '<span style="color:rgb(' . mt_rand(0, 255) . "," . mt_rand(0, 255) . "," . mt_rand(0, 255) . '">' . $code[mt_rand(0, 63)] . '<span>';
  7. }
  8. ?>
  9. <!DOCTYPE html>
  10. <html lang="zh-CN">
  11. <head>
  12. <meta charset="UTF-8">
  13. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  14. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  15. <title>验证码</title>
  16. </head>
  17. <body>
  18. <?php echo $num ?>
  19. </body>
  20. </html>
  • 99 乘法表小案例
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>99乘法表</title>
  8. </head>
  9. <body>
  10. <table>
  11. <caption>99乘法表</caption>
  12. <tbody>
  13. <?php
  14. for ($i = 1; $i <= 9; $i++) {
  15. echo '<tr>';
  16. for ($j = $i; $j <= 9; $j++) {
  17. echo '<td style="border:1px solid">' . $i . '×' . $j . '=' . $i * $j . '</td>';
  18. }
  19. echo '</tr>';
  20. }
  21. ?>
  22. </tbody>
  23. </table>
  24. </body>
  25. </html>

超全局变量

  • $_GET() 获取 get 请求的内容,内容是方便在浏览器地址上显示出来的,在浏览器收藏里用很方便
  • $_POST() 获取 post 请求的内容,内容是不方便在浏览器地址上显示出来的,对密码等信息能做到比较好的加密
  • $_COOKIE与$_SESSION 用来存储缓存信息,用于保存用户信息
  • $_REQUEST()是一个一维数组,包含了$_POST、$_GET、$_COOKIE 等一切信息,这里需要注意 post、get、cookie 会出现重复下标
  • $GLOBALS 是二维数组,会对 get、post、cookie、file 等请求信息分别展示
  • $_SERVER 服务器环境的详细信息,一般会用到里面的请求时间,其值是时间戳
  • 预定义常量
    • __FILE__获取当前文件
    • __DIR__获取当前目录
    • PHP_VERSION 获取当前 PHP 版本

网络请求

常用较简单的两种方式

  • file()可以把整个文件读入到一个数组中
  • file_get_contents()可以将整个文件读入到一个字符串中

Curl 请求方式

Curl 请求方式功能更强大,也更为复杂,不仅可以进行 GET 请求,还可以进行 POST 请求

  1. $ch = curl_init();//创建curl,它一直存在在这里
  2. //curl_setopt($ch,CURLOPT系统常量(具体可查手册),"url地址");配置curl相关参数
  3. curl_setopt($ch,CURLOPT_URL,"http://apis.juhe.cn/simpleWeather/query");
  4. //curl可以进行post请求,这里以post请求为例
  5. curl_setopt($ch, CURLOPT_POST, 1); // 最后面的1代表这个请求是post请求
  6. $data = [
  7. 'key' => 'key0password',
  8. 'city' => '济南'
  9. ];
  10. // 如要下载一个文件可以设置CURLOPT_CONNECTTIMEOUT为10秒,也就是如果服务器10秒内没有响应,脚本就自动断开连接,然后CURLOPT_TIMEOUT可以设置为60,即如果文件1分钟内没有下完,脚本就自动断开连接。
  11. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,3);//发起连接前等待的时间,如果设置为0,则无限等待,也就是这个是告诉php脚本在成功连接服务器前的等待时间的
  12. curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置连接后超时的时间,防止死循环
  13. curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);//爬取重定向页面内容
  14. curl_setopt($ch,CURLOPT_AUTOREFERER,1);//自动设置Referer,用作防盗链
  15. curl_setopt($ch,CURLOPT_HEADER,0);//显示返回的Header区域的内容
  16. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//设置结果是保存到字符串中还是直接输出到屏幕,1是保存到字符串中,这样在封装好自定义函数后close关闭curl后就不会继续输出到屏幕,就可以使用return返回
  17. curl_setopt($ch,CURLOPT_USERAGENT,'Data');//在HTTP请求中包含一个“User-Agent: "头的字符串
  18. curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);//强制使用HTTP/1.1
  19. $html = curl_exec($ch);
  20. curl_close($ch);
  21. echo $html;//因为上面的代码中已经限制了close后不直接输出到屏幕,因此需要输出一下
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!