php速成(与其他语言之间的区别)

数据库大作业要先学php,没办法来和我一起速成?‍♀️叭~

一、语法概述

  1. 变量以 $ 符号开始,后面跟着变量的名称。
  2. 和python 一样不用声明变量,直接创建。这是因为php和python都是弱类型语言,像C++之类的强类型语言在使用变量前必须先声明变量的类型和名称。
  3. PHP有四种变量作用域:local、global、static、parameter。
  4. 若要在函数内部访问一个全局变量,必须使用global关键字。
  5. 当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,请在第一次声明变量时使用 static 关键字。

二、echo/print语句

  1. echo、print是PHP的两种基本输出方式
  2. echo——可以输出一个或多个字符串,无返回值
    print——只允许输出一个字符串,返回值总是1
  3. echo/print 都不用加括号,且里面可加标签

三、EOF(heredoc)

  1. PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。
  2. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  3. 开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
  4. 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接。

四、数据类型

  1. 大概这么几种:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
  2. var_dump() 函数可以返回数据类型和值。
  3. 用class声明对象:
<?php
/**
 * Created by PhpStorm.
 * User: freya
 * Date: 2018-11-26
 * Time: 15:53
 */

class Car     //建立一个汽车类
{
    var $color;        //声明汽车颜色属性
    function __construct($color="green")   //汽车类的构造函数(new时调用),默认参数值为绿色
    {
        $this->color = $color;     //将汽车的颜色属性值设为传入的颜色
    }
    function what_color()     //获取汽车颜色的方法
    {
        return $this->color;    //返回汽车的颜色属性值
    }
}

function print_vars($obj)  //输出传入对象中所有属性和对应属性值的方法
{
    foreach (get_object_vars($obj) as $prop => $var)  //获取对象的所有属性成一个数组,并遍历他们,最后以 "属性=>值" 的形式输出
    {
        echo "\t $prop = $var \n";//将"\t属性名 = 属性值\n"输出到网页(\t是文本缩进,\n是文本换行,它们都是空白符,html在解析时表现为一个空格)
    }
}

//实例一个对象
$herbie = new Car();  //实例化汽车类得到汽车对象。

//显示herbie属性
echo "\t herbie : Properties \n";    //输出到网页
print_vars($herbie);  //调用输出对象中所有属性及对应值的方法,传入汽车对象
?>

在这里插入图片描述

  1. 常量采用define定义,定义后默认是全局变量,函数内不用声明也可使用。

五、字符串

  1. 在 PHP 中,只有一个字符串运算符:并置运算符 (.) ,用于把两个字符串值连接起来。
  2. strlen() 函数返回字符串的长度(字符数)。
  3. strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

六、运算符

  1. 算数运算符:+、-、*、/、%、- (取反)、. (并值)。

在这里插入图片描述

  1. 赋值运算符:=、+=、-=、*=、/=、%=、.=

  2. 递增/递减运算符:
    在这里插入图片描述

  3. 比较运算符(特殊的有):

===:绝对等于,即x等于y且其类型相同
在数组比较时表示恒等:即 x 和 y 具有相同的键/值对,且顺序相同类型相同
<>:和 != 一样表示不等于

  1. 逻辑运算符:and/&& (与) 、or/ || (或)、xor (异或)、!(非)
  2. 三元运算符:
    在这里插入图片描述

php7+还可以写成:(expr1)??(expr3)

七、if else / switch

  1. 在 PHP 中,提供了下列条件语句:

if 语句 - 在条件成立时执行代码
if…else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
if…elseif…else 语句 - 在若干条件之一成立时执行一个代码块
switch 语句 - 在若干条件之一成立时执行一个代码块

八、数组

  1. 在 PHP 中,有三种类型的数组:

数值数组 - 带有数字 ID 键的数组
关联数组 - 带有指定的键的数组,每个键关联一个值
多维数组 - 包含一个或多个数组的数组

  1. 创建数组用 array() 函数:
//法一:自动分配ID
$cars=array("Volvo","BMW","Toyota");
//法二:手工分配ID
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
  1. 获取数组的长度 - count() 函数
  2. 关联数组 :
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
// or
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

遍历关联数组用 - foreach() 函数

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
 
foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

九、数组排序

PHP 数组排序函数:

sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列

注:PHP输出之 echo/print/print_r区别
echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出 echo 会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
print 是打印字符串
print_r 则是打印复合类型 ,如数组对象

十、超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

PHP 超级全局变量列表:

$GLOBALS:一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_SERVER:一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。
$_REQUEST:用于收集HTML表单提交的数据。
$_POST:广泛应用于收集表单数据,在HTML form标签的指定该属性:"method=“post”。
G E T : 同 样 被 广 泛 应 用 于 收 集 表 单 数 据 , 在 H T M L f o r m 标 签 的 指 定 该 属 性 : &quot; m e t h o d = &quot; g e t &quot; 。 _GET: 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:&quot;method=&quot;get&quot;。 GET广HTMLform"method="get"_GET 也可以收集URL中发送的数据。
$_FILES
$_ENV
$_COOKIE
$_SESSION

十一、循环

在 PHP 中,提供了下列循环语句:

while - 只要指定的条件成立,则循环执行代码块
do…while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
for - 循环执行代码块指定的次数
foreach - 根据数组中每个元素来循环代码块

十二、函数

创建函数

<?php
function functionName()
{
    // 要执行的代码
}
?>

十三、魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。这些特殊的常量不区分大小写。

  • LINE:文件中的当前行号。
    在这里插入图片描述
  • FILE:文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
  • DIR:文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
  • FUNCTION:返回该函数被定义时的名字(区分大小写)。
  • CLASS:返回该类被定义时的名字(区分大小写)。
  • METHOD:返回该方法被定义时的名字(区分大小写)。
  • NAMESPACE:当前命名空间的名称(区分大小写)。

命名空间和面向对象暂时感觉用不到,用到了再来补叭~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要快速学习算法并使用Java语言实现,你可以遵循以下步骤: 1. 学习基本的数据结构:了解常见的数据结构,如数组、链表、栈、队列、树和图等。理解它们的特性和应用场景,并学习如何在Java中实现它们。 2. 理解算法的基本概念:熟悉算法的常见概念,如时间复杂度、空间复杂度、递归、排序和搜索等。这些概念对于理解和分析算法的效率非常重要。 3. 学习常见的算法:掌握常见的算法,如排序算法(如冒泡排序、插入排序、快速排序)、搜索算法(如线性搜索、二分搜索)、图算法(如广度优先搜索、深度优先搜索)等。了解它们的工作原理和实现方式,并尝试在Java中实现它们。 4. 刷题练习:通过刷题来巩固所学的算法和数据结构知识。可以使用在线刷题平台(如LeetCode、HackerRank)来解决各种算法问题,并尝试用Java语言实现解决方案。 5. 参考学习资源:使用优质的学习资源来加快学习进度。有很多经典的算法书籍和在线教程可以帮助你系统地学习算法和数据结构,并提供Java语言的实现示例。 6. 实践项目:尝试在实际项目中应用所学的算法和数据结构。这样可以帮助你更好地理解和应用它们,并提升编程能力。 总之,学习算法需要时间和实践,通过不断地学习、练习和实践,你可以逐渐提高自己的算法能力和Java编程技巧。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值