批改状态:合格
老师批语:
// 1.循环:计算循环// while$int = 1;//()里呢 是条件:> >= < < =// == ===// 死循环// 1 < 10 永远是对的,是true真// 给它停止的一个条件,1<10这个条件呢,我们要让它有机会结束// while($int < 10){// 这里也是代码,什么代码都可以在这里面写,foreach、if条件、正常的代码、echo '第'. $int .'次';echo '<hr>';$int++;}
// 2.2 do while// {}是代码 ()是条件// do while 和 while 的区别是 do while 会先执行一遍$int = 1 ;do{echo '第'.$int.'次';echo '<hr>';$int++;}while($int<10);输出结果和1.的输出效果一样的// 3.3for 循环 也是计算循环// {}代码 ()条件// 和 while 有一点不一样 ()里不止一条语句 它里面有三条for($int = 1; $int < 10; $int++){echo '第'.$int.'次';echo'<hr>';}// 3.4 结束命令 breakfor($int = 1; $int < 10 ; $int++){echo '第'.$int.'次';echo '<hr>';// 在{}里能写任何代码// if( $int == 5 ){ 输出:1-5次if( isset($_GET['num']) && $int == $_GET['num'] ){break;}}// break 可以在 switch 里使用// 3.5 continue 其中一条数据,不输出// for($int = 1; $int < 10 ; $int++){if(isset($_GET['num']) && $int == $_GET['num'] ){continue;}echo '第' . $int . '次';echo '<hr>';}// http://www.163.com/6.php?num=2 num输入多少 那个数字就不输出?><!-- <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><table border="1"> --><?phpfor ($i=1; $i <10 ; $i++) {echo '<td>二郎神'.$i.'</td>';重复输出名字}?><!-- </table></body></html> --><?// 3.6 随机数.函数// echo mt_rand(0,99); //随机0-99的函数?><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><!-- <h1>登录验证码</h1> --><?php$a = mt_rand(0,255);$b = mt_rand(0,255);$c = mt_rand(0,255);echo $a . '-' . $b . '-' . $c;$code = mt_rand(0,9) . mt_rand(0,9). mt_rand(0,9). mt_rand(0,9);$code = '0123456789abcdefghijklmnopqrstuvwsyz';// 计算字符串长度// 用strlen来计算 code的长度echo strlen($code);$num1 = $code[mt_rand(0,strlen($code)-1)]; //只能是数字$num2 = $code[mt_rand(0,strlen($code)-1)];$num3 = $code[mt_rand(0,strlen($code)-1)];$num4 = $code[mt_rand(0,strlen($code)-1)];$num = mt_rand(0,strlen($code)-1);echo $code[$num]; //获取字符串里的单个数据for($i=0;$i<4;$i++){echo '<span style="color:rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')">'.$code[ mt_rand(0,strlen($code)-1)].'</span>';}?><!-- 取出多个数据 --><!-- <span style="color:rgb( <?=$a ?>,<?=$b ?>,<?=$c ?> )"><?=$num1?><?=$num2?><?=$num3?><?=$num4?></span> --><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>乘法口诀</title></head><body><?phpecho '<table border="1">';for($i=1;$i<=9;$i++){echo '<tr>';// y 如果小于等于9,那就说明y,第一次、第二次、第N次,都要执行9次// y 要小于等于,它的上司,i 是1,y是1,他俩一样的话,就执行1次// i是2,y重新被赋值为1,在找它上司,i是2,他俩一样的话,就执行2次for($y=1; $y<=$i; $y++){echo ' <td>';echo $y;echo '*';echo $i;echo '=';echo $i * $y; //这是结果echo '</td>';}echo '</tr>';}echo '</table>';?><?php//乘法口诀反过来echo '<table border="1">';for($i=9;$i>=1;$i--){//如果是大数字在前面,后面要--echo '<tr>';for($y=1; $y<=$i; $y++){echo ' <td>';echo $y;echo '*';echo $i;echo '=';echo $i * $y; //这是结果echo '</td>';}echo '</tr>';}echo '</table>';// 抓取和日志用for循环//乘法口诀表就忽略了</table> --></body></html>
输出:
<?php// 1、超级全局变量// $_GET 网址上显示出来,在浏览器的收藏里使用,很方便// $_POST 不显示传值内容,这样做,更安全// $_COOKIE、$SESSION 缓存,保存用户信息// $_FILES 文件上传信息// get 如果传值 能让对方看到,就可以用get// post 一般用在 账号、密码、支付密码、加密的东西,不能其他人看到的// $_REQUEST,一维数组:包含了$_POST、$_GET、$_COOKIE// 要注意 post 和 get 和 cookie 会出现重复的下标?><!-- <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><h1>计算器</h1><form action="" method="post"><input type="number" name="num1" value="<?=isset($_POST['num1'])?$_POST['num1']:''; ?>" /><select name="opt"><option value="+" <?=isset($_POST['opt']) && $_POST['opt']=='+'?'selected':'' ?>>+</option><option value="-" <?=isset($_POST['opt']) && $_POST['opt']=='-'?'selected':'' ?>>-</option><option value="*" <?=isset($_POST['opt']) && $_POST['opt']=='*'?'selected':'' ?>>*</option><option value="/" <?=isset($_POST['opt']) && $_POST['opt']=='/'?'selected':'' ?>>/</option><option value="%" <?=isset($_POST['opt']) && $_POST['opt']=='%'?'selected':'' ?>>%</option></select><input type="number" name="num2" value="<?=isset($_POST['num2'])?$_POST['num2']:''; ?>" /><input type="submit" value="计算" /></form></body></html> --><?phpprint_r($_REQUEST);if(!empty($_POST)){if($_POST['opt'] == '+'){$num = (int)$_POST['num1'] + (int)$_POST['num2'];}else if($_POST['opt'] == '-'){$num = (int)$_POST['num1'] - (int)$_POST['num2'];}else if($_POST['opt'] == '*'){$num = (int)$_POST['num1'] * (int)$_POST['num2'];}else if($_POST['opt'] == '/'){$num = (int)$_POST['num1'] / (int)$_POST['num2'];}else if($_POST['opt'] == '%'){$num = (int)$_POST['num1'] % (int)$_POST['num2'];}// echo '数字1'. $_POST['opt'] . '数字2,结果为:' .$num;// 把get 换成post// }// $GLOBALS 全部全局变量的组合,二维数组// print_r($GLOBALS);// print_r($_SERVER); //服务器的环境,会使用里面的下标是时间戳,也会有函数获取时间戳// print_r($_ENV); 也是环境变量// 预定义常量// echo __FILE__; // 当前文件// echo __DIR__; //当前目录// echo PHP_VERSION; //后台管理程序,显示在后台首页// 2.网络请求// file() 把整个文件读入到一个数组中// print_r( file('http://apis.juhe.cn/simpleWeather/query') );// 6-5 7:01// echo file_get_contents( 'http://apis.juhe.cn/simpleWeather/query' );// 但是是读取到字符串中// 我们的需求,是需要网络请求的。// 我们就算不抓取别人的数据,也会用到别人的接口// 比如说,微信支付,用到微信支付,就需要用别人提供的接口// 只要用第三方的功能,别人提供接口的话,我们就需要用网络请求// Curl 网络请求,因为它能请求post// $ch = curl_init(); // 创建一个curl,它一直存在在这里// // 要配置很多项。可以直接网上搜一个// // curl_setopt($ch, CURLOPT_URL ,'http://apis.juhe.cn/simpleWeather/query?key=abc4b64ae7656b460723402175a5650b&city=合肥');// curl_setopt($ch, CURLOPT_URL ,'http://apis.juhe.cn/simpleWeather/query');$data = ['key' => 'abc4b64ae7656b460723402175a5650b','city' => '合肥'];curl_setopt($ch, CURLOPT_POST, 1); // 这个请求是postcurl_setopt($ch, CURLOPT_POSTFIELDS , $data);$html = curl_exec($ch); // 去执行curlfunction get_url($url,$data,$is_post=0){$ch = curl_init(); // 创建一个curl,它一直存在在这里// 要配置很多项。可以直接网上搜一个curl_setopt($ch, CURLOPT_URL ,'http://apis.juhe.cn/simpleWeather/query?key=abc4b64ae7656b460723402175a5650b&city=合肥');if($is_post == 0){if(!empty($data)){$url .= '?';foreach($data as $k=>$v){$url .= $k . '=' . $v . '&';}}}curl_setopt($ch, CURLOPT_URL ,$url);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); // 在发起连接前等待的时间,如果设置为0,则无限等待。curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 设置cURL允许执行的最长秒数。设置超时限制防止死循环curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// 爬取重定向页面curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // 自动设置Referer,防止盗链curl_setopt($ch, CURLOPT_HEADER, 0); // 显示返回的Header区域内容curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 要求结果保存到字符串中还是输出到屏幕上curl_setopt($ch, CURLOPT_USERAGENT, 'Data');// 在HTTP请求中包含一个"User-Agent: "头的字符串。curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); // 强制使用 HTTP/1.1if($is_post == 1){curl_setopt($ch, CURLOPT_POST, 1); // 这个请求是postcurl_setopt($ch, CURLOPT_POSTFIELDS , $data);}$html = curl_exec($ch); // 去执行curl,并且打印出来,但是如果关闭了,就不会打印出来if(curl_errno($ch)){return curl_errno($ch);}curl_close($ch);return $html;}$data = ['key' => 'abc4b64ae7656b460723402175a5650b','city' => '合肥'];echo get_url('http://apis.juhe.cn/simpleWeather/query',$data);?>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号