PHP基础学习

为了以后能更方便的和后端小哥哥作对接,萌芽决定学习一下PHP,因为之前学的是JAVA语言所以理解上并不是非常的困难,不过不过只是基础语法的程度啦,让我们一起来学习一下吧~

PHP环境这里我们用本地快速搭建工具,他能帮你快速配置好Apache服务器以及php的运行环境。

http://phpstudy.php.cn/ 

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP可以写在HTML里面,解析速度是先加载php代码之后再加载HTML文件,但是这之后就无法修改了,我们要的是动态的去修改数据这个时候就有了我们的ajax来帮助我们去修改他
  • 说道ajax涉及到一个get请求和post请求,post请求是隐式请求,异步发送不显示内容,而get在你提交请求的时候数据将会被显示到你的url之上。

在PHP中 $ 符用于定义变量,代码格式为<?php                   ?>不加后面的反括号也可以的不过我们为了规范代码还是加上的好。

 

1.输出语句

有echo和print这两种,echo是不带返回值的而print只允许输出一个字符串,返回值总为 1。

echo的输出速度要比print更快所以一般都是用echo

但是echo能输出的东西print都能输出,并且echo不能输出的print也能输出,比如数组字符串,所以功能上print要更加强大!

据说还有一种是 var-dom 的输出方式也可以输出数组,目前没查到知道的小伙伴可以留言告诉我~

<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
 
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>

1.1EOF

EOF可以用任意其它字符代替,只需保证结束标识与开始标识一致。PHP 定界符 EOF 的作用就是按照原样,包括换行格式什么的,输出在其内部的东西;必须后接分号,否则编译通不过。可以给插入HTML标签哦,并且在双引号内的内容也有转义效果。

<?php
$name="runoob";
$a= <<<EOF
    "abc"$name
    "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

2.数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

PHP var_dump() 函数返回变量的数据类型和值:

说明:var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

格式:

var_dump ( mixed expression [, mixed expression [, ...]] )

注意:用保证 var_dump 中的变量必须是存在的,如果变量不存在则返回 NULL。该函数有输出的功能,因此不必加其它的输出函数。

以上截取自【菜鸟教程:马路】大佬的评论。继续说数据类型。前四种没什么好讲的和大多数编程语言一样,说一下Array和Object吧

不需要专门去new哦!

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>

比较常用的是以键值的形式创建的关联数组,比如“键” => 值;这里有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

在 PHP 中,对象必须声明。首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php
class Car{
  var $color;
  function __construct($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>

2.1常量

设置常量,使用 define() 函数,函数语法如下:

name:必选参数,常量名称,即标志符。value:必选参数,常量的值。case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。常量也是全局的!

<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com", true);
echo greeting;  // 输出 "欢迎访问 Runoob.com"
?>
<?php
define("GREETING", "欢迎访问 Runoob.com");
 
function myTest() {
    echo GREETING;
}
 
myTest();    // 输出 "欢迎访问 Runoob.com"
?>

运算符 (.) 用于把两个字符串值连接起来。

在JAVA当中字符串拼接用 + 号,而在php当中拼接输出则是用 . 

<?php 
$txt1="Hello world!"; 
$txt2="What a nice day!"; 
echo $txt1 . " " . $txt2; 
?>

几个函数

strlen()用来打印字符长度,调用方法为echo strlen("Hello world!");

strpos()函数用于在字符串内查找一个字符或一段指定的文本。echo strpos("Hello world!","world");   //输出6

count()函数能够获取到数组的长度

运算符

+  加  -  减  ×  乘   /  除   %  取余   .  并置(连接两个字符串)

intdiv()  整除运算符,使用方法var_dump(intdiv(10, 3));      //返回3

先++先计算后输出,后++先输出后计算

逻辑运算方法

if语句唯一的区别是比较的值是写在“”里面的,elesif可以写在一起不写空格,很神奇命名是“”,里面为什么不是string类型

遍历关联数组

遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:

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

switch语句也没什么区别,语法依旧是case,唯一不同的是新加入的default:方法,意思是如果没有匹配到的就执行,可以把它理解为else。

<?php
switch (n)
{
case label1:
    如果 n=label1,此处代码将执行;
    break;
case label2:
    如果 n=label2,此处代码将执行;
    break;
default:
    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

循环

while 循环将重复执行代码块,直到指定的条件不成立。

for 循环用于您预先知道脚本需要运行的次数的情况。

foreach 循环用于遍历数组。

<?php
$x=array("one","two","three");
foreach ($x as $value)
{
    echo $value . "<br>";
}
?>

每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值。

PHP 魔术常量

__LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写。文件中的当前行号。

__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

__FUNCTION__返回函数名称。

__CLASS__返回类名称。

__TRAIT__名包括其被声明的作用区域【不太理解】

__METHOD__返回该方法被定义时的名字(区分大小写)。

__NAMESPACE__当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

以下代码可以获取当前执行的 PHP 文件名:

echo substr(__FILE__,strlen(__DIR__)-strlen(__FILE__)+1);

PHP 函数

命名空间通过关键字namespace 来声明。如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间。

namespace MyProject; 

数组排序

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

超级全局变量

  • $GLOBALS    是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。$GLOBALS['z'] 
  • $_SERVER   是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

 打印结果为

  • $_REQUEST   用于收集HTML表单提交的数据。
<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
 
<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>
 
</body>
</html>
  • $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
 
<?php 
$name = $_POST['fname']; 
echo $name; 
?>
 
</body>
</html>
  • $_GET    同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
<a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a>
  • $_FILES
  • $_ENV
  • $_COOKIE    浏览器存储
  • $_SESSION  会话

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值