【PHP快速入门】详细笔记---精简版(上)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【PHP快速入门】详细笔记---精简版

前言


很多人反馈上完大学的C语言课程、java课程不会写任何东西。


如果你要创业,如果你要与互联网人沟通。未来互联网、移动互联网、信息化将会进一步围绕在你身边。你需要与人沟通,与人打交道。


还有机会进入BAT(百度、阿里、腾讯),BAT这些企业他们在用PHP。国内和国外超一线的互联网公司,在超过90%在使用PHP来做手机API或者是网站。连微信等开放平台中的公众号的服务端也可以使用到PHP。


大并发,还能免费。一天1个亿的访问量怎么办?PHP拥有大量优秀的开发者,在一定数据量的情况下完全能满足你的需求。国内外一线的互联网公司,很多将自己的大并发方案进行开源了。你可以免费获得很多成熟的、免费的、开源的大并发解决方案。


开源更加节约成本也更加安全。windows很多都要收取授权费用,而使用linux的LAMP架构或者LNMP架构会更加安全。全球的黑客在帮你找漏洞。全球的工程师在帮忙修复漏洞。你发现一个他人已经消灭10个。

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。


通过cURL来做小偷程序


微信微博公众号、QQ公众号、地图和很多的第三方功能提供都是采用http 的API(应用程序)形式向开发人员提供的功能。


如果你只希望能够做些简单的微信公众号、QQ公众号等小应用,不想再深入学习PHP。学习到本章,你就可以完全掌握微信公众号服务端的的所需知识了。


如何请求微信、地图等第三方API呢?


这个时候就需要使用到——cURL。cURL中文翻译过来叫做基于URL的函数库。它的主要功能是:使用相关的函数模拟协议请求。


例如:


模拟表单向某个地址发送数据

在无验证码的情况下模拟表单完成用户登陆

上传某个文件到远程服务器

请求远程服务器提供的某些功能

… …


curl支持dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, smtp, smtps, telnet和tftp协议。

curl同时也支持HTTPS认证、HTTP的POST、HTT的PPUT、FTP上传(这个也能通过PHP的FTP扩展完成)、HTTP基于表单的上传、代理、cookies和用户名+密码的认证。


我们在使用过程当中,如果没有cURL基础根本不知道如何开发微信公众号。


实际工作中,在cURL使用最多的协议就就是http协议中的get和post请求。其他协议和请求方式用的相对较少。当然,在特定的应用中也有使用。


在开发前请保证你已开启cURL模块。开启办法与之前所讲的**《PHP图像处理》**这一章的开启办法一样,开启的模块名称叫:php_curl.dll。


第一个网站


这句代码非常神奇,一句话能变成一个网页。是我们PHP入门的第一段代码。


现在你可以在网页服务器的根目录(D:\phpStudy\www)当中新建一个文件。文件的名字为:abc.php。


在这个abc.php文件中写入如下代码。

<?php
phpinfo();
?>


<?php
//这句话是说明从此处【尖括号、问号、PHP】这5个字符开始,往下的部份是PHP代码。
?>


phpinfo是一个函数(功能),这个函数(功能)会显示一个当前电脑(服务器)的详细的PHP信息。在后面会专门为大家讲解phpinfo()这个函数。这个函数必须要大家记住!


注意事项:


PHP还可以有简洁声明模式,我们在这个阶段以代码练习为主。关于环境配置问题,暂时不建议学习。在后面的章节中,我们会专门进行讲解。


我们在写文件abc.php这个文件命名的时候,只用英文半脚(a-zA-Z0-9_-)这些字符来命名文件。文件命名不要用中文,不要用特殊附号,不要中间加空格,严格区分大小。


php中的变量


必须要以 $开始 。

2.变量的首字母不能以数字开始


3.变量的名字区分大小写


4.变量不要用特殊符号、中文,_不算特殊符号


5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)


echo 显示命令


<?php
$iphone = 6088;
echo $iphone;
?>

1668332208581.jpg


php注释


<?php
/*
时间:20
功能:这是一个假的多行注释的例子
*/
/*
  声明一个爱情变量
  $love 是指爱情
  爱情是一个变量
  所以,爱情变量的值为250
*/
$love = 250;
?>


整型


整型分为:


1.10进制


2.8进制 (了解,基本不用)


3.16进制(了解,基本不用)


<?php
//为了方便大家记忆和前期学习,英文不好的朋友也可用拼音来声明变量。以后再用英文来声明变量也无所谓
//声明变量 整数,英文 int
//$int = 1000;
$zhengshu = 1000;
echo $zhengshu;
?>


8进制声明: 以0开始,后面跟0-7的整数(了解知识点)


<?php
//8进制的取值范围最大为0-7,即0,1,2,3,4,5,6,7
$bajingzhi =  033145;
echo $bajingzhi;
?>


16进制声明: 以0x开始,后面跟0-f的,0x的abcdef不区分大小写。(了解知识点)


布尔变量


没有变量成员的对象。


变量值为空NULL


例如:


$a= false;        //$a设置为假
$b=NULL:        //$b设置为null
$c=NULL;        //$c设置为null


除了上述情况以外,其余情况值将会被转换为true,一般来说,1为true,0为false。这些转换将在以后的判断语句中经常遇到。


字符串


在PHP语言中声明字符串有三种方式:


用单引号声明


用双引号声明


用字界符声明,需要输入非常大段的字符串时使用


1.单引号声明


<?php
//声明字符串变量$zhifu
$zhifu = '曾经有操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及。如果非要在这段爱情前面加上一段三个字,我愿意说三个字:滚犊子';
//你可以放XAMPP指定的目录下,新建一个文件叫str.php。然后访问一下http://127.0.0.1/str.php试试。会不会显示这句话。
echo $zhifu;
?>


2.双引号声明字符串

<?php
//声明字符串变量$str
$str = "如果非要在滚犊子前面加上一个时间的话我愿意是马上。";
echo $str;
?>


3.字界符声明

1).在变量后面的等号写三个小于号(<<<)。

2).然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC

3).然后换行写上任意想写的字符

4).写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;

<?php
$dingjie = <<<ABC
  如果
       非要在这个滚犊子
       面<br />
      加上一段
   <i>距离的话</i>
   我想说:<h1>思想有多远,你就跟我滚多远</h1>
ABC;
?>


那双引号和单引号有什么区别呢?


【重要知识点】PHP 面试题中,高概率面试题(建议背诵并实验三遍以上)


双引号解析变量 ,但是单引号不解析变量。


在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变 量后面接上特殊字符,例如空格等分开。


如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。


双引号解析转义字符,单引号不解析转义字符。但,*单引号能解析’ 和*


单引号效率高于双引号,尽可能使用单引号


**双号和单引号可以互插!!!**双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。


神奇的字符串拼接胶水——(.)点,用来拼接字符串。


我们将定界符声明字符串视为双引号一样的功能来看待。


实验举例


双引号解析变量,但是单引号不解析变量

<?php
//声明变量$shouji
$shouji = '为了苹果手机去卖肾';
//在双引号中放$shouji 然后echo 一下是什么效果呢?
$str = "$shouji 会不会显示呢?";
//输入$str试试
echo $str;
?>


双引号需要解析变量,因此双引号的效率没有单引号高。我们如果为了更高的效率,我们通常使用单引号。


2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。可以在后面接上特殊字符,例如空格等分开。

<?php
$php = 'php中文网';
$str = "$phpaaaa";
//你会发现输出$str,什么都没有在页面中显示
echo $str;
?>


但是,我们在s t r 声明的这个字符串中将 str 声明的这个字符串中将str声明的这个字符串中将huaqiangu 后面接个空格再接aaaa,代码如下:

<?php
$php = 'php中文网';
//中间加了空格哟
$str = "$php aaaa";
echo $str;
?>


我们把代码再改改:

<?php
$php = 'php中文网';
//中间加了空格哟
$str = "$php!aaaa";
echo $str;
?>


大家打开一次页面,执行了一次代码看看结果是不是变为了:


php中文网!aaaa


因此,证明了我们的第二项观点。


如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。

那,如果我不想在后面有空格有,有特殊符号,就想直接显示变量$huaqiangu呢?——我们的解决办法是用大括号把变量包起来。代码如下:

<?php
$php = 'php中文网';
//中间加了空格哟
$str = "{$php}aaaa";
echo $str;
?>


于是,大家会发现花千骨后面没有了特殊符号,也没有空格了,达到了我们想要的显示结果


双引号解析转义字符,单引号不解析转义字符。但,单引号能解析’ 和\

第4个字符串的注意事项比较难以观察,转义字符有一些,但最常用的有:


\n 回车

\t 缩进


我们来通过实验先来理解\n和\t是什么。


<?php
//声明一个字符串,记住是双引号
$string = "每天来PHP中文网\n给梦想\t一个机会";
echo $string;
?>


转义字符\(反斜线的使用)

如果我们声明一个变量$beizi,我们想要在$beizi声明的双引号中间加上一个双引号显示输出怎么办?


答:我们需要**将双引号原有的意义去掉。再双引号前面加上一个**(反斜线,计算机的专业名词叫转义字符),就可以了。

<?php
//要在$beizi的字符串中显示一个双引号怎么办?
$beizi = "多于绝大多数的人出生就是杯具,但是\"我们在不断的让人生变为喜剧";
echo $beizi;
?>


你可以再执行一下上面的代码,发现不再报错了。同理可推,单引号当中要插入一个单引号显示出来的时候,也可以在单引号声明的字符串中的单引号前面加上(反斜线,转义字符),将单引号的意义(限定字符区间)去掉。

<?php
//要在$beizi的字符串中显示一个双引号怎么办?
$shengyang = 'i\'m xiaoshengyang';
echo  $shengyang;
?>


双号和单引号**可以互插!!!**双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。

代码如下:

<?php
$legend = '猛虎';
$NoAlike = "心有'$legend',细嗅蔷薇";
echo $NoAlike;
?>


神奇的字符串拼接胶水——(.)点,用来拼接字符串。

<?php
$php = 'PHP中文网';
//中间加了空格哟
$str = "{$php}aaaa";
echo $str;
?>


上面这段代码是,我们曾经说过双引号能够解析变量,有一个问题:


效率没有纯单引号的高


那么问题1:我想改为效率最高的方式应该怎么办?


问题2:我有多个字符串,要拼接在一声怎么办?


那,我们需要使用到神奇的胶水:(.)点,用来拼接字符串。


<?php
$shixi = '大学4年要好好学习<br />';
$buran = '不然连实习的机会都没有<br />';
$mimang = '把别人用来迷茫的时间拿到PHP中文网<br />';
$xuexi = '学习PHP<br />';
//我们可以把字符串全部拼接起来。
echo $shixi . $buran . $mimang . $xuexi;
?>


因此,刚刚的问题一的代码我们可以改为:


<?php
$php = 'PHP中文网';
//中间加了空格哟
$str = $php . 'aaaa';
echo $str;
?>


我们将定界符声明字符串视为双引号一样的功能来看待。

<?php
$weilai = '努力才有未来';
$mimang = '迷茫的原因是没有目标';
$dingjie = <<<ABC
  如果
           $weilai
       非要\t在这"个滚"犊子
           '$mimang'
       面<br />
      加上\n一段
   <i>距离的话</i>
   我想说:<h1>思想有多远,你就跟我滚多远</h1>
ABC;
echo $dingjie;
?>


你可以执行发现$weilai,$mimang,\t\n都可以执行,双引号单引号都能显示。这就是定界符的特点。


再声明一次:字符串的声明每一项都必须记住,非常常用。并且面试题出现的概率非常高!


不可见字符:主要是计算机规定的一些特殊符号。例如:回车(\n)、缩进(\t)等。


浮点型


普通声明浮点数

<?php
//声明变量fudian的值为12121.3132
$fudian = 12121.3132;
echo $fudian;
?>
<?php
//声明变量$fl 的值为0.8873
$fl = 0.8873;
var_dump($fl);
?>


echo 直接输出了12121.3132,而var_dump 输出了0.8873,还显示了变量$fl的类型为float。


var_dump() 是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度和值。


var 是指变量的英文 : variable float 读音:[floʊt] 中文解释:计算机中的浮点类型


variable 读音:[ˈveriəbl] 中文解释:变量


dump 读音:[dʌmp] 中文解释:倾倒; 倾销;


程序控制流


if else


<?php
//我们定义一个泡到美女的变量($pao)为true,意思为泡到了
$pao = true;
if($pao){
   echo '我愿意去死';
   echo '林志玲,我爱死你了。';
}else{
   echo '我不愿意去死';
   echo '凤姐,我肯定不会爱你的';
}
//if...else执行结束,后续代码
?>


NULL


【重点】知道null产生的三种情况,学习empty 和 isset两个函数的区别。


主要有以下三空情况会产生空(null)类型:


1.通过变量赋值明确指定为变量的值为NULL


2.一个变量没有给任何值


3.使用函数unset()将变量销毁掉


接下来我们来讲解两个跟null相关的函数,这两个函数非常常用,我们将级别定义为【默写级别】。


empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。

<?php
$apple = null;
if(empty($apple)){
    echo '执行了真区间,凤姐,我爱你';
}else{
   echo '行了假区间,你想凤姐了';
}
?>


上述实验证明,$apple为null。将apple放至empty中间。结果执行了真区间。


isset()可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返回true。

<?php
//待会儿将变量$jia改为null再执行看看结果
$jia = false;
$result = isset($jia);
var_dump($result);
?>
<?php
$one = 10;
$two = false;
$three = 0;
$four = null;
$result = isset($one , $two , $three , $four);
//执行看看结果,是不是
var_dump($result);
?>


unset()这个函数的功能是毁掉变量。unset(变量)括号中间插入想要毁掉的变量名,这个变量就会被毁掉。


数组


本章重点:


知道数组是一个复合类型


数组的英文叫array,var_dump一个变量的时候看到的类型为array的,这个变量就是数组类型


会一个最简单、最基本的数组声明【默写】


接下来我们声明一个数组,了解数组里面可以插入多个值就行。

<?php
//定义$shu这个变量
//数组声明是向array里面插入一个或者多个值
//一个或者多个值用逗号分开
$shu = array(1,2,3);
?>
相关文章
|
6月前
|
自然语言处理 安全 PHP
PHP 之道笔记整理:最佳实践与安全指南
这篇文章讨论了PHP开发中的最佳实践,包括使用最新稳定版(PHP 8.3)以提升性能和安全,利用`DateTime`类及Carbon库处理日期时间,确保使用UTF-8编码并用`mb_*`函数处理字符串,以及通过密码哈希和数据过滤来加强Web应用安全。文章提醒开发者始终保持对新技术和安全实践的关注。
100 2
|
关系型数据库 Linux PHP
PHP快速入门01-初识PHP语言
PHP是一种开源的服务器端脚本语言,主要用于web开发。PHP是一个简单易学、功能强大、免费开源的语言,广泛应用于构建动态网页和Web应用程序。
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
108 0
PHP快速入门03-面向对象编程
PHP的面向对象编程(Object-Oriented Programming,OOP)是一种在PHP开发中广泛使用的编程范式。通过面向对象编程,可以将代码分为对象,每个对象都有自己的属性和方法。这种方式使代码更加模块化、可重用和易于维护。
|
7月前
|
JSON JavaScript Java
【PHP】英文博客专栏PHP快速入门个人笔记
【PHP】英文博客专栏PHP快速入门个人笔记
142 1
|
JavaScript PHP
php正则表达式获取(捕获)组的笔记
@(汗)的确,网络上存在很多这样的内容了,但今天我是来补充内容的,滑稽@(你懂的) 众所周知 ,js中正则表达式()可以来获取匹配到内容,然后用$0 ...来显示
79 0
|
存储 PHP
PHP快速入门02-PHP语言基础
万丈高楼平地起,本节内容将带大家一起了解PHP的数据类型,常量与变量,条件语句,循环语句,对象数组,函数与命名空间等相关知识。
|
NoSQL 关系型数据库 MySQL
PHP快速入门13-MySQL数据库与Redis操作
PHP快速入门与实战,本篇文章介绍的内容,MySQL数据库与Redis操作,后续更多内容将收录在专栏PHP快速入门与实战。
130 0
|
Java PHP C++
PHP快速入门09-正则相关,附一定要学会的20个高频使用案例
PHP快速入门09-正则相关,附一定要学会的20个高频使用案例
|
存储 缓存 安全
PHP快速入门07-Cookie与Session的说明与使用
PHP快速入门与实战Cookie和Session是一个Web开发几乎不可避免的东西,是网站开发的核心内容,HTTP是无状态的协议,正是Cookie和Session的存在,才保证了网站等应用场景的身份认证和前后数据联系。今天本小节讲解他们在PHP中的使用方式。以上就是关于本篇文章介绍的内容,Cookie与Session,后续更多内容将收录在专栏PHP快速入门与实战。
110 0