php 环境

xamp wamp phpstudy等集成软件网上很多

PHP基础语法

PHP语法是以<?php开始
?>结束的//php 文件的默认扩展名是.php

例如(用PHP输出helloworld):

<!DOCTYPE html>
<html>
<body>
<?php
echo "hello world";
//PHP中的注释可以是 //
/* 也可以是(这个是多行注释)*/ /**/
?>
</body>
</html>

PHP变量

  • [x] 变量必须以$字符开始后面跟变量名称
  • [x] 变量名只能是大小写字母下划线和数字
  • [x] 数字不能作为变量的开始
  • [x] 变量名区分大小写且不能有空格
<?php
$test="变量第一次赋值的时候被创建";
$x=1;
$y=23.4;
?>
  • PHP变量不必声明数据类型(弱类型语言)
  • PHP会根据变量内容的值自动转换数据类型

PHP变量作用域

$ php 有四种不同的变量作用域

  • local
  • global
  • static
  • parameter
<?php
$x=3;
function test(){
$y=2;
echo "x:",$x,"<br>y:",$y;
//此时x没有值需要使用关键字声明
}
test();
echo "x:",$x,"<br>y:",$y;
// y属于局部变量所以y此时没有值
?>
  • [x] global关键字
<?php
$x=5;
$y=19;
function test(){
global $x,$y;
$y=$x+$y;
}
test();
echo $y;
?>
  • [x] global数组
<?php
$x=5;
$y=19;
function test(){
$GLOBAL['y']=$GLOBAL['x']+$GLOBAL['y'];
}
test();
echo $y;
?>
  • [x] static作用域
<?php
function test(){
static $x;
echo $x;
$x++;
echo "<br>";
}
test();
test();
test();
/*static 函数执行完毕函数内部的static变量不被释放留由下次执行函数使用*/
?>

echo 和 print 语句

  • echo 可以输出多个字符串(括号可加可不加)
  • print 只可以输出一个字符串,并且有返回值,返回值为1
<?php
$x=3;
$y=23;
echo "x=",$x,",y=",$y;
//当然可以这么输出
echo "x= $x ,y= $y";
?>
<?php
$a=3;
$b=23;
print "<br>";
print "a=$a,b=$b";
?>

PHP EOF

  • 必须后接分号
  • EOF可以用其它字符代替但是开始结尾必须一样
  • 结束标志必须独占一行
  • 变量可以正常解析,函数不可以
<?php
$name=nk1999;
echo <<<EOF
我的名字:$name<br>
<h1>test</h1>
EOF;
//EOF结束必须独立一行且前后不能空格
?>

PHP数据类型

  • String 字符串
  • integer 整型
  • float 浮点型
  • boolean 布尔型
  • array 数组
  • object 对象
  • NULL 空值

PHP类型比较

  • == 只比较值不比较类型
  • === 严格比较比较值和类型

PHP常量

  • 常量是个标识符在该脚本中值不能改变

  • 常量不需要加$修饰符

    <?php
    define("name","nk1999");
    echo name;
    define("myname","nk1999",true);//不区分大小写
    echo MYNAME;
    ?>
  • 常量是全局的定义以后可以在整个脚本任意地方使用

字符串变量以及函数

  • strlen() 返回字符串的长度
<?php
echo strlen("hello world!");//返回字符串长度
?>
  • strpos() 查找字符串或者指定文本位置
<?php
$txt="hello worldhello worldhello world";
echo strpos($txt,"world");
?>

PHP运算符

  • /
  • % 取余
  • -x 取反
  • . 并置 连接两个字符串
  • = 赋值运算
  • ++x x++ 自增
  • --x x-- 自减
  • == 等于不比较类型
  • === 绝对等于,比较类型
  • != 不等于
  • <> 不等于
  • !== 绝对不等于 包括类型
  • <> 小于大于
  • <=>= 小于等于大于等于
  • and 与
  • or 或
  • xor 异或
  • && 与
  • || 或
  • ! 非

数组运算

  • x+y x和y的集合
  • == 相等
  • === 恒等顺序也要对
  • != 不相等
  • <> 不相等
  • !== 不恒等

三元运算符 ?:

PHP if ...else语句

if语句

<?php
/*
if(条件){
如果条件为真执行此语句块,否则不执行;
}
*/
$a=3;
if($a==3){
echo $a;
}
?>

if...else语句

<?php
/*
if(条件){
如果条件为真执行此语句块;
}else{
如果条件不为真执行此语句块;
}
*/
$a=3;
if($a==3){
echo $a;
}else{
echo "a不为3";
}
?>

if...elseif...else

<?php
/*
if(条件){
条件成立执行代码
}elseif(条件){
条件成立执行代码
}else{
条件不成立执行代码
}
*/
$a=3;
if($a==3){
echo a=3;
}elseif($a==2){
echo "a=2";
}else{
echo "a不是2也不是3";
}
?>

PHP switch语句

如果有选择执行若干代码之一使用switch

<?php
$a=2;
switch($a){
case 1:echo "a=1";break;//break用于跳出否则会继续往下输出
case 2:echo "a=2";break;
case 3:echo "a=3";break;
default:echo "a不是123";//最后一句不用跳出
}
?>

PHP笔记01的更多相关文章

  1. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  2. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  5. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  6. JS自学笔记01

    JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...

  7. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】

    转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...

  8. ASP.NET Identity 2集成到MVC5项目--笔记01

    Identiry2是微软推出的Identity的升级版本,较之上一个版本更加易于扩展,总之更好用.如果需要具体细节.网上具体参考Identity2源代码下载 参考文章 在项目中,是不太想直接把这一堆堆 ...

  9. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  10. SaToken学习笔记-01

    SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...

随机推荐

  1. Element-UI中关于table表格的样式操作

    项目中使用到element-ui组件库,经常需要操作表格,编辑样式的过程中遇到一些问题,官网针对table给出了很多的api,自己可以自定义,基本能满足产品需求,但是没有给出具体的案例,网上的资料也比 ...

  2. 全球定位IP位置 2018(离线版)

    球定位IP位置 2018(离线版) 这次写的软件使用Python写的,所以体积可能有点大 我特地写了GUI打包成了Exe可执行文件,方便小白使用== 只要输入目标ip就能显示目标所在的国家城市和经纬度 ...

  3. P1001 A+B Format

    转跳点:

  4. Linux系统资深运维工程师的进阶秘籍

    2010年毕业,从事IT行业已经接近7个年头,一路走来有很多不足,不论是技术上的还是工作当中的待人接事等,但正是这些不足让我有了现在的进步,技术上从最初的做水晶头,综合布线到服务器上架,网络设备调试, ...

  5. video-player

    1. VLC 2. MPlayer 3. FFmpeg 4. 显示媒体信息 5. 视频播放器软件比较 1. VLC https://www.videolan.org/vlc/ https://en.w ...

  6. ch4 圆角框

    固定宽度的圆角框 只需要两个图像:一个应用于框的顶部,一个应用于底部 <div class="box"> <h2>Lorem Ipsum</h2> ...

  7. 每个项目中,你必须知道的11个Java第三方类库。

    Java第三方library ecosystem是一个很广阔的范畴.不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库. 单元测试 1.DBUnit DBunit是一个基于junit扩展 ...

  8. 2018--Linux面试题

    1.企业场景面试题:buffer与Cache的区别. 2.企业场景面试题:redhat与CentOS的区别. 3.企业场景面试题:  描述RAID 0 1 5 10的特点. 4.企业场景面试题:32位 ...

  9. 对S7通信的连接的理解以及对比CAN通信协议来理解PLC通讯

    对S7通信的连接的理解以及对比CAN通信协议来理解PLC通讯. 对功能块 SFB12 和 SFB13 的R_ID参数的理解 ? 对于同一个数据包.发送方与接收方的R_ID应该相同. 用下图解释 双向连 ...

  10. nodejs配置 https服务

    const port = normalizePort(process.env.PORT || '3000'); const path = require('path'); const https =  ...