准备工作:
首先打开notepad++,新建文件,选择PHP语言,打开这个插件管理
找到NPPEXEC插件(我这里已经安装了):
然后退出来,写一个最简单的php代码,echo啥的,然后按下F6,在弹出的command界面中输入
cd $(CURRENT_DIRECTORY)
E:\phpStudy\PHPTutorial\php\php-7.2.1-nts\php.exe $(FULL_CURRENT_PATH)
之后点击ok就可以运行了
(这里的E:\phpStudy\PHPTutorial\php\php-7.2.1-nts\php.exe是你安装的php的位置,因为我使用的是phpstudy,所以直接用phpstudy里面的php
php文件不要有空格,可以有下划线,不然在运行时会报错,什么什么,如图)
如果你之前有使用过phpstudy的话,可以把php代码文件放在phpstudy的www文件夹中,这样子的话,你可以通过开启phpstudy,然后访问127.0.0.1/php代码文件名(要加上.php)来直接运行你的php文件,比在notepad++中更直观
举个例子,
我的代码文件名叫new2.php,放在www文件夹里的php文件夹中,这样子就可以直接打开了,hello world,这是我的代码
简单代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">//charset=utf的作用是使之中文不出现乱码 5 <title>php</title> 6 </head> 7 <body> 8 <h1>我的第一个php代码</h1> 9 10 <?php 11 $x=1; 12 $text="这是一个文本"; 13 $array=array("first","second","third"); 14 echo "hello world"; 15 echo "</br>"; 16 echo "x的值为 $x "; 17 echo "</br>"; 18 echo "text的值为 $text "; 19 echo "</br>"; 20 echo "array1的值为 {$array[0]} "; 21 22 </body> 23 </html>
PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特殊字符进行转义,以免出现语法错误。如果是一两处还可以容忍,但是要是一个完整的 html文本或者是一个200行的js我想是谁都会崩溃的。这就是PHP为什么要引入一个定界符的原因——至少一大部分原因是这样的。
1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;
2.在PHP定界符中的任何特殊字符都不需要转义。
3.PHP定界符中的PHP变量会被正常的用其值来替换。
4.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
PHP中的定界符格式是这样的:
<<<Eof
……
Eof;
(只需要前后一致即可,EOF不是固定的,EOT,ETO什么什么的都可以)
参考https://www.cnblogs.com/jcs-cs-s/p/6922190.html
此外,php中也有print,它与echo的区别在于
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为1
提示: echo输出的速度比print fast,echo no有返回值,print有返回值1。
括号与单双引号的效果粗略来说都是一样的
类型比较
==与===
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
对与多种类型的比较,参考(https://www.runoob.com/php/php-types-comparisons.html)
常量
设置 PHP 常量
设置常量,使用 define() 函数,函数语法如下:
bool define(string $name, mixed $value,[bool $case_insenitive=false])
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
定义常量有两种方式:define与const
一般是define在类外定义常量,const在类内定义常量,并且const必须通过类名::变量名来进行访问。但是php5.3以上支持类外通过const定义常量
1 class MyClass 2 { 3 //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 4 const constant = 'constant value'; 5 6 function showConstant() { 7 echo self::constant . "<br>"; 8 } 9 } 10 11 echo MyClass::constant . "<br>";
字符串
PHP并置运算符(.)
1 $text1="plant"; 2 $text2="zombie"; 3 echo $text1."VS".$text2,'</br>';
strlen():计算字符长度
strpos(A;B):在A中搜索B关键字
数组:
- 数值数组 - 带有数字 ID 键的数组
- 关联数组 - 带有指定的键的数组,每个键关联一个值
- 多维数组 - 包含一个或多个数组的数组
数值数组和C语言的数组一样,差不太多
关联数组类似python的字典,具体用法如下:
1 <?php 2 $array_1=array('xiaomi','meizu','oppo','vivo','huawei','iphone','samsung'); 3 $array_2=array('acer'=>'100','lenovo'=>'200','dell'=>'300','hp'=>'400','hasee'=>'500','asus'=>'700'); 4 for ($i=0;$i<count($array_1);$i++) 5 { 6 echo $array_1[$i],'</br>'; 7 } 8 echo $array_2['acer'],'</br>'; 9 echo $array_2['asus'],'</br>'; 10 11 foreach($array_2 as $x=>$x_value) 12 { 13 echo "Key=" . $x . ", Value=" . $x_value; 14 echo "<br>"; 15 } 16 17 ?>
代码输出如上
foreach():来遍历关联数组中的元素
count():计算数组长度
多维数组之后再接受,留个坑
数组排序:
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列
挺简单的。。。。maybe
详细参考:https://www.runoob.com/php/php-arrays-sort.html
超级全局变量:
好多好多,,,我也不想看,我也不想写
直接给个链接吧
https://www.runoob.com/php/php-superglobals.html
里边还有$_REQUEST,$_POST和$_GET
函数:
使用function()关键字,传参,返回值,什么什么的,都一样,八九不离十。粗略来看如此。
毕竟我也只求一个看得懂php代码。
魔术常量:
(下面的都是由两个下划线组成的,前后一共4个下划线)
- __LINE__:返回当前行号
- __FILE__:返回文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
- __DIR__:返回文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。
- __FUNCTION__:返回函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
- __CLASS__:返回类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
- __TRAIT__:首先你得知道什么是trait(参考:https://www.php.net/manual/zh/language.oop5.traits.php(坦白说,我没搞懂))。返回Trait 的名字(PHP 5.4.0 新加)
- __METHOD__:返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
- __NAMESPACE__:返回当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
(我猜,,,这些东西有时候还是挺有用的)