php入门教程之一周学会PHP

阅读数68104
难度级别初级
综合评分9.6
385人评价查看评价
9.8内容实用
9.6简洁易懂
9.2逻辑清晰
php入门教程之一周学会PHP

所有计算机语言的学习都要从基础开始,《php入门教程之一周学会PHP》不仅是PHP的基础部分,更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通过一周的深入学习让你快速掌握PHP的各项技能,助你的工作和学习更上层楼!

  • SERVER['中间的值'],是需要我们了解意思的。 如果我们需要显示我们当前访问的这个phpinfo();页面文件放在哪儿,就可以执行: <?php //我在上图左侧找到的一项,在前面加上了一个$(美元符),就显示出来了当前文件的路径 echo $_SERVER['SCRIPT_FILENAME']; ?> 我们来了解一些常用的环境变量的键名和值对应的意思: 键名 含义 $_SERVER["REQUEST_METHOD"] 请求当前PHP页面的方法 $_SERVER["REQUEST_URI"] 请求的URI $_SERVER["SERVER_SOFTWARE"] 用的是哪一种服务器 $_SERVER["REMOTE_ADDR"] 客户的IP地址 $_SERVER["SERVER_ADDR"] 当前服务器的IP地址 $_SERVER["SCRIPT_FILENAME"] 主前请求文件的路径 $_SERVER["HTTP_USER_AGENT"] 当前访问这个网址的电脑和浏览器的情况 $_SERVER["HTTP_REFERER"] 上级来源(用户从哪个地址进入当前网页的) $_SERVER["REQUEST_TIME"] 当前的时间

  • 全局变量名 功能说明 $_COOKIE 得到会话控制中cookie传值 $_SESSION 得到会话控制中session的值 $_FILES 得到文件上传的结果 $_GET 得到get传值的结果 $_POST 得到post传值的结果 $_REQUEST 即能得到get的传值结果,也能得到Post传值的结果

  • hp数据类型之自动转换和强制转换 PHP在PHP 5.x阶段都是完全的弱类型的编程语言。所谓弱类型,就是在声明变量的时候,不需要指定变量的类型。我要声明一个整型的变量,我不用在前面非得写上类型,再写变量。 而PHP 7 的性能有很大的提高。实际测试的结果,PHP 7的性能与PHP5.6相比,提升了性能接近200%。在PHP 7 中有些地方,我们可以强制指定类型,也可以不用强制指定类型来声明变量。 我们接来下来讲强制类型转换和自动类型转换两个部份。 【默写级别】布尔值的自动类型转换、强制类型转换的英文单词 布尔值的自动类型转换 自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生时机是:运算和判断的时候某些值会自动进行转换。 下面的情况是布尔值判断时的自动类型转换: 1,整型的0为假,其他整型值全为真 2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。 3,空字符串为假,只要里面有一个空格都算真。 4,字符串的0,也将其看作是假。其他的都为真 5,空数组也将其视为假,只要里面有一个值,就为真。

  • 4. 双引号解析转义字符,单引号不解析转义字符。但,单引号能解析\' 和\ 第4个字符串的注意事项比较难以观察,转义字符有一些,但最常用的有: \n 回车 \t 缩进 我们来通过实验先来理解\n和\t是什么。

  • 注:true和false外面不要加引号。类型转换,后面的课程当中我们来讲解。 布尔值=false . 整数值=0 浮点数=0.0 空字符串 空数组 没有变量成员的对象。 变量值为空NULL 例如: $a= false; //$a设置为假 $b=NULL: //$b设置为null $c=NULL; //$c设置为null 除了上述情况以外,其余情况值将会被转换为true,一般来说,1为true,0为false。这些转换将在以后的判断语句中经常遇到。

  • 那双引号和单引号有什么区别呢? 【重要知识点】PHP面试题中,高概率面试题(建议背诵并实验三遍以上) 1.双引号解析变量,但是单引号不解析变量。 2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变 量后面接上特殊字符,例如空格等分开。 3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。 4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析\' 和\ 5.单引号效率高于双引号,尽可能使用单引号 6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。 7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。 8.我们将定界符声明字符串视为双引号一样的功能来看待。

  • 3.字界符声明 1).在变量后面的等号写三个小于号(<<<)。 2).然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC 3).然后换行写上任意想写的字符 4).写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;

  • php的代码部份全部要用半角的英文、很多人容易写成全角的英文和符号造成PHP代码报错。 PHP代码的最后一行可以加也可不加分号。由于很多学习者特别是初学者经常犯一个毛病:写完一行代码不加分号。因此,容易报错。我们通常在公司里面规定:一行代码写完,就必须要加分号。 PHP还可以有简洁声明模式,我们在这个阶段以代码练习为主。关于环境配置问题,暂时不建议学习。在后面的章节中,我们会专门进行讲解。 以上,非常容易在实际开发中不小心造成错误。 我们在写文件abc.php这个文件命名的时候,只用英文半脚(a-zA-Z0-9_-)这些字符来命名文件。文件命名不要用中文,不要用特殊附号,不要中间加空格,严格区分大小。

  • <?php phpinfo(); ?>

  • <?php //now为现在的当前时间 echo strtotime("now")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("now"))."<br>"."<br>"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("10 September 2000"))."<br>"."<br>"; //当前时间加一天 echo strtotime("+1 day")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 day"))."<br>"."<br>"; //当前时间加一周 echo strtotime("+1 week")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week"))."<br>"."<br>"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week 2 days 4 hours 2 seconds"))."<br>"."<br>"; //下一个星期四 echo strtotime("next Thursday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("next Thursday"))."<br>"."<br>"; //上一个星期一 echo strtotime("last Monday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("last Monday"))."<br>"."<br>"; ?>

  • <?php $arr=array( '教学部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '宣传部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '财务部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), ); while (list($department, $members) = each($arr)) { echo "<h3 style='text-align:center;'>".$department."</h1>"; echo "<table width='100%' border='2px'>"; while (list($id, $member) = each($members)) { echo "<tr>"; while (list($index, $value) = each($member)) { echo "<td>".$value."</td>"; } echo "</tr>"; } echo "</table>"; } ?>

  • <?php $arr=array( '教学部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '宣传部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '财务部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), ); foreach ($arr as $department => $members) { foreach ($members as $member) { echo $department." "; foreach ($member as $info) { echo $info." "; } echo "<br>"; } } ?>

  • <?php //开始时间 $start_time = microtime(true); echo '<table width="800" border="1">'; for($i=0;$i<100;$i++){ if($i%2==0){ echo '<tr>'; }else{ echo '<tr bgcolor="red">'; } for($j=0;$j<100;$j++){ echo '<td>'.($i*10+$j+1).'</td>'; } echo '</tr>'; } echo '</table>'; echo '<br>'; $end_time = microtime(true); $run_time = $end_time - $start_time; echo $run_time; ?>

  • <?php //include 'functions.php'; //include 与 require 区别: //include //include 'test.php'; //echo 'include,警告并继续往下执行<br>'; //require //require 'test.php'; //echo 'require,报错并不执行此行及以下代码'; //include 与 include_once 区别: //include //include 'functions.php'; //抱重复的错误 //include 'functions.php'; //include_once //include_once 'functions.php'; //不会报错,会继续执行 //include_once 'functions.php'; //因为已经包含了文件,另一个包含文件就不再包含 require_once 'functions.php'; require_once 'functions.php'; demo(); test(); ?>

  • <?php $flag = 5; function fn($flag){ echo $flag.'<br>'; $flag--; if($flag>0){ fn($flag); }else{ echo 'fn函数执行完毕'; } } fn($flag); ?>

  • <?php function foo() { echo '我是函数foo哟,调一下我才会执行定义函数bar的过程<br />'; function bar() { echo '在foo函数内部有个函数叫bar函数<br />'; } bar(); } //现在还不能调用bar()函数,因为它还不存在 //bar(); foo(); //现在可以调用bar()函数了,因为foo()函数的执行使得bar()函数变为已定义的函数 //bar(); //再调一次foo()看看是不是会报错? //foo(); ?>

  • <?php //回调式的匿名函数 $fn = function($one,$two,$func){ echo $one + $two + $func($one,$two); }; function func($foo,$bar){ $result = $foo / 2 + $bar * 2; return $result; } $fn(10,20,'func'); ?>

  • <?php //匿名函数 $color = function($color){ echo '这是'.$color; }; $color('red'); echo '<br>'; $color('blue'); echo '<br>'; //变量函数 $name = 'dog'; function dog(){ echo '这是一条狗'; } $name(); echo '<br>'; //回调函数 function fn($one,$two,$func){ echo $one + $two +$func($one,$two); } function func($foo,$bar){ $result = ($foo * $bar) / 2; return $result; } fn(10,20,'func'); ?>

  • <?php //用for的双层循环来控制隔行变色的表格 echo '<table width="800" border="1">'; for ($i = 0; $i < 100; $i++) { if($i%10==0){ if($i%20==0){ echo '<tr>'; }else{ echo '<tr bgcolor="red">'; } } echo '<td>'.($i+1).'</td>'; if(($i+1)%10==0){ echo '</tr>'; } } echo '</table>'; ?>

  • <?php //用for 的单层循环来控制隔行变色的表格 echo '<table width="800" border="1">'; for ($i = 0; $i < 10; $i++) { if($i%2==0){ echo '<tr>'; }else{ echo '<tr bgcolor="red">'; } for($j=0;$j<10;$j++){ echo '<td>'.($i*10+$j+1).'</td>'; } echo '</tr>'; } echo '</table>'; ?>

首页上一页123下一页尾页

讲师提示

洪涛全栈工程师
课程须知
《php入门教程之一周学会PHP》适合没有任何php经验的应用程序开发者及对php后端技术兴趣的用户。但是需要有一点的html和css基础知识。
老师告诉你能学到什么?
通过对《php入门教程之一周学会PHP》的学习可以全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能,拥有独立开发中小型的网站的基本能力。