-
- 搭建准备
- 多种注释
- 变量
- 超全局变量
- 输出方法
- 数据类型
- 定义类
- 字符串操作
- 声明常量
- 运算符
- 针对数组进行循环
- 数组及其操作
- 关联数组
搭建准备
- phpstorm下载安装
- XAMPP下载(win版本)安装
第一步:为MySQL数据库设置密码
- 进入127.0.0.1
- 进入右上角phpmyadmin
- 点击账户
- 点击修改权限
点击修改密码后会到达下图

5.修改完密码后,如果我们直接重新进入phpmyadmin是会报错的,因为我们设置的密码没有在 Apache服务器的配置文件进行登记
第二步:对密码进行登记
进入xampp/phpmyadmin
打开config.inc.php进行密码登记,再次进入127.0.0.1,成功进入
第三步:搭建IDE环境
打开phpstorm新建项目,将新建项目放在xammp/htdocs目录下面
然后进行一下操作为项目配置PHP环境
打开左上角file->Languages & Franeworks->PHP
确定之后,我们前期的配置工作也就完成了
创建一个项目试试看吧!
<?php
echo "第一次PHP项目配置成功啦";
?>
运行成功!
多种注释
<?php
/**
* Created by PhpStorm.
* User: haimian
* Date: 2018/5/12
* Time: 16:17
*/
echo "第一次PHP项目配置成功啦";
//注释
`#我也是注释
/*
* 我还能跨
* 很多行的
* 注释
* */-----
?>
变量
$a=;
$b=; //php与其他强类型语言不同,不需要在创建变量的时候为变量赋予固定的数据类型,php可以根据赋予给变量的值而自动确定其数据类型
$c=$a+$b; //php的变量同样与其他语言不同,只要这个量依然是变量,$符号就不能省略,否则会报错
echo $c;
$x=;
$y=;
function myTest(){
$y=; //局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量x是:$x"; //编译报错,因为在php中全局变量因为不是在函数内部声明,所以不能用在函数内部,但是可以定义相同的变量
echo "<br>";
echo "变量y是:$y";
}
myTest();
echo "<P>测试函数之外的变量:</P>";
echo "变量x是:$x";
echo "<br>";
echo "<P>变量y是:$y</P>"; //编译报错,函数内部声明的变量同样不能用在函数外
function myTestTwo(){
global $x,$y; //global用于在函数内部访问全局变量,也就是让全局变量变得正在全局!
$y=$x+$y; //global在$GLOBALS[index]中存储了所有的全部变量,下标存有变量名,可以用来在函数内更新全局变量
}
myTestTwo();
echo "<p>$y</p>";
function myTestThree(){
static $x=; //类似于静态变量,通常当一个函数结束时,会释放掉所有变量的值,此时将不会产生累加效果
echo "<p>$x</p>";
$x++; //但是,当我们加上static关键词之后,变量的值将不会释放,而会一直保存
}
myTestThree(); //0
myTestThree(); //1
myTestThree(); //2
超全局变量
和global相似
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
* 我们将在以后进行详细介绍
*
* */
输出方法
echo "这是第一个输出方法,调用echo";
print "这是第二个输出方法,调用print";
$text1="我是一个变量";
$cars=array("我","是","一","个","数","组","字","符","串");
echo $text1 . "$cars[1]"; //echo调用变量时可以用引号,也可以不用引号,推荐使用echo,因为其不返回值效率更高
数据类型
$s="字符串类型";
$i=; //整数类型
$f=; //浮点数类型
$lo=true; //逻辑类型
$ar=array("数组","类型");
$n=null; //null值,将变量值清空
定义类
class Oj
{
var $object;
function Oj($object="oj"){
$this->object=$object;
}
function what_object(){
echo "函数调用成功";
}
} //定义
$test=new Oj("oj");
$test->what_object(); //对方法进行引用
字符串操作
echo strlen("返回字符串的长度函数strlen");
echo strpos("在一组字符中截取相应的片段","相应的片段");
//其他操作通过手册查询
声明常量
define("GREETINE","welcome to php",true); //第一个为常量的命名,第二个为常量的内容,第三个如果为true,则常量命名对大小写不敏感
echo GREETINE;
echo greetine;
运算符
$one=;
$two=;
正常运算符
echo ($one + $two); // 输出 16
echo ($one - $two); // 输出 4
echo ($one * $two); // 输出 60
echo ($one / $two); // 输出 1.6666666666667
echo ($one % $two); // 输出 4
赋值运算符
$x1=;
echo $x1; // 输出 10
$y1=;
$y1 += ;
echo $y1; // 输出 120
$z1=;
$z1 -= ;
echo $z1; // 输出 25
$i1=;
$i1 *= ;
echo $i1; // 输出 30
$j1=;
$j1 /= ;
echo $j1; // 输出 2
$k1=;
$k1 %= ;
echo $k1; // 输出 3
字符串运算符
$a = "Hello";
$b = $a . " world!"; //串接字符
echo $b; // 输出 Hello world!
$x="Hello";
$x .= " world!"; //串接赋值字符
echo $x; // 输出 Hello world!
递增/递减运算符
$x2=;
echo ++$x2; // 输出 11
$y2=;
echo $y2++; // 输出 10
$z2=;
echo --$z2; // 输出 4
$i2=;
echo $i2--; // 输出 5
比较运算符
$x3=;
$y3="100";
var_dump($x3 == $y3);
echo "<br>";
var_dump($x3 === $y3);
echo "<br>";
var_dump($x3 != $y3);
echo "<br>";
var_dump($x3 !== $y3);
echo "<br>";
$a3=;
$b3=;
var_dump($a3 > $b3);
echo "<br>";
var_dump($a3 < $b3);
逻辑运算符
有六种 and,or,xor,&&,||,!
针对数组进行循环
$colors=array('1','2','3');
foreach($colors as $value){
echo "$value <br>";
}
数据运算符
$x4 = array("a" => "red", "b" => "green");
$y4 = array("c" => "blue", "d" => "yellow");
$z4 = $x4 + $y4; // $x 与 $y 的联合
var_dump($z4);
var_dump($x4 == $y4);
var_dump($x4 === $y4);
var_dump($x4 != $y4);
var_dump($x4 <> $y4);
var_dump($x4 !== $y4);
数组及其操作
$testAr1=array("0","1","2");
$testAr2[]="我是索引0的内容";
echo $testAr1[] . $testAr2[];
echo count($$testAr1); //count函数可以返回数据的长度
/*数组的排序函数
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
*更多的可以参考手册
* */
关联数组
$age1=array("Peter"=>"35");
//也可以
$age2=array('peter')="35";
echo "peter age is".$age1['Peter'];
echo "peter age is".$age2['peter'];
foreach ($age1 as $ag => $ag_value){
echo "age=".$ag."value".$ag_value;
}
?>