【PHP】初学者开篇入门版
php在线编辑工具:菜鸟教程在线编辑器 (runoob.com)
php集成环境:phpStudy V8.1下载(Win64位) - 官方最新版本(不断更新)-php中文网工具下载
基本的 PHP 语法
- PHP 文件的默认文件扩展名是 ".php"。
- PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码
<!DOCTYPE html>
<html>
<body> <h1>My first PHP page</h1> <?php
echo "Hello World!";
?> </body>
</html>
PHP有两种在浏览器输出文本的基础指令:echo 和 print
- echo - 可以输出一个或多个字符串;echo 没有返回值
- print - 只允许输出一个字符串;print有返回值1
<!DOCTYPE html>
<html>
<body> <?php
echo "这是一个", "字符串,", "使用了", "多个", "参数。"
print "你好"
?> </body>
</html>
PHP 变量以 $ 符号开始
PS:PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。而在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称
<!DOCTYPE html>
<html>
<body> <?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?></body>
</html>
php局部和全局作用域
- 定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
- 函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
- 函数之间存在作用域互不影响。
- 函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
<?php
$x=5;
$y=10;function myTest()
{global $x,$y;$y=$x+$y;
}myTest();
echo $y; // 输出 15
?>
PHP 数据类型
- String(字符串)
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
- Integer(整型):整数是一个没有小数的数字
var_dump() 函数返回变量的数据类型和值
print_r 如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
- Float(浮点型):浮点数是带小数部分的数字
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
- Boolean(布尔型)
$x=true;
$y=false;
- Array(数组)
<?php
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?
- Object(对象)
<?php
class Car
{var $color;function __construct($color="green") {$this->color = $color;}function what_color() {return $this->color;}
}
?>
- NULL(空值)
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
- Resource(资源类型)
PHP 类型比较
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
PHP 常量:常量在定义后,默认是全局变量
设置常量,使用 define() 函数:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )//name:必选参数,常量名称,即标志符。
//value:必选参数,常量的值。
//case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感,默认是大小写敏感的。
<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING; // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting; // 输出 "greeting",但是有警告信息,表示该常量未定义
?>
字符串变量
- 并置运算符:并置运算符 (.) 用于把两个字符串值连接起来
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>
strlen() 函数:strlen() 函数返回字符串的长度(字节数)
<?php
echo strlen("Hello world!");
?>
- strpos() 函数:用于在字符串内查找一个字符或一段指定的文本;如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
<?php
echo strpos("Hello world!","world");
?>
PHP If...Else 语句
<?php
$t=date("H");
if ($t<"20")
{echo "Have a good day!";
}
else
{echo "Have a good night!";
}
?>
PHP Switch 语句
break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":echo "你喜欢的颜色是红色!";break;
case "blue":echo "你喜欢的颜色是蓝色!";break;
case "green":echo "你喜欢的颜色是绿色!";break;
default:echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>
PHP 数组
声明数组:
<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
遍历数组:
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);for($x=0;$x<$arrlength;$x++)
{echo $cars[$x];echo "<br>";
}
?>
数组排序:
- sort() - 对数组进行升序排列
- rsort() - 对数组进行降序排列
- asort() - 根据关联数组的值,对数组进行升序排列
- ksort() - 根据关联数组的键,对数组进行升序排列
- arsort() - 根据关联数组的值,对数组进行降序排列
- krsort() - 根据关联数组的键,对数组进行降序排列
PHP 超级全局变量
$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问有。$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
<?php
$x = 75;
$y = 25;function addition()
{ $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}addition();
echo $z;
?>
循环 - While 循环
- while - 只要指定的条件成立,则循环执行代码块
<?php
$i=1;
while($i<=5)
{echo "The number is " . $i . "<br>";$i++;
}
?>
- do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
<?php
$i=1;
do
{$i++;echo "The number is " . $i . "<br>";
}
while ($i<=5);
?>
- for - 循环执行代码块指定的次数
<?php
for ($i=1; $i<=5; $i++)
{echo "数字为 " . $i . PHP_EOL;
}
?>
- foreach - 根据数组中每个元素来循环代码块
<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{echo $value . PHP_EOL;
}
?>
PHP 函数
<?php
function writeName($fname)
{echo $fname . " Refsnes.<br>";
}echo "My name is ";
writeName("Kai Jim");
echo "My sister's name is ";
writeName("Hege");
echo "My brother's name is ";
writeName("Stale");
?>
// php 实现动态规划的菲波那契:
<?php
function fibonaci($a)
{$x=0;$y=1;$ret=0;$count=0;while($count<$a){$ret=$x+$y;$x=$y;$y=$ret;$count++;}return $ret;
}
echo fibonaci(4);
?>
PHP 魔术常量
- __LINE__:文件中的当前行号
- __FILE__:文件的完整路径和文件名
- __DIR__:文件所在的目录
- ......
命名空间
目的是解决重名问题,PHP中不允许两个函数或者类出现相同的名字
<?php
namespace MyProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ }
}namespace AnotherProject {const CONNECT_OK = 1;class Connection { /* ... */ }function connect() { /* ... */ }
}
?>
PHP 面向对象
PHP_EOL
是一个常量,表示操作系统特定的换行符
<?php
//类使用 class 关键字后加上类名定义
class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->url = $par; } function getUrl(){ echo $this->url . PHP_EOL; }
} $php = new Site; // 调用成员函数,设置URL
$php->setUrl( 'www.php.cn' ); // 调用成员函数,获取URL
$php->getUrl();
?>
- 构造函数:
<?php
class Site {/* 成员变量 */var $url;var $title;function __construct( $par1, $par2 ) {$this->url = $par1;$this->title = $par2;}/* 成员函数 */function setUrl($par){$this->url = $par;}function getUrl(){echo $this->url . PHP_EOL;}
}$php = new Site('www.php.cn', 'php中文网'); // 调用成员函数,获取URL
$php->getUrl(); ?>
- 析构函数
当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
- 继承:extends
- 重写:父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写
访问控制:PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的
public(公有):公有的类成员可以在任何地方被访问。
protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
private(私有):私有的类成员则只能被其定义所在的类访问。
【PHP】初学者开篇入门版相关推荐
- [好学、好用、好玩的Photoshop.写给初学者的入门书].李金明等.扫描版
[好学.好用.好玩的Photoshop.写给初学者的入门书].李金明等.扫描版 链接:https://pan.baidu.com/s/1hA73UYfKY3yMlye2tyac-w 提取码:vugu
- python基础教程书籍推荐-初学者python入门必看书籍推荐(上)
随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...
- python入门必备指南-致Python初学者 Anaconda入门使用指南完整版
打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...
- python语言入门p-python初学者怎么入门
据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于是否"应该学习Python"也都发表 ...
- python编程入门指南 代码库在哪下-致Python初学者 Anaconda入门使用指南完整版
打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...
- python入门教程非常详细-python初学者怎么入门:python入门教程非常详细
python安装后如何打开 ,先找到python安装位置. python学习网,大量的免费python入门教程,在线学习! 进装目录之后,点击Lib文件夹. 相关推荐:<Python教程> ...
- MarkDown总结(适合初学者快速入门)
本文转自MarkDown总结(适合初学者快速入门)_小异常的博客-CSDN博客_markdown快速入门 总得的来说,MarkDown是一种简单.轻量级的标记语法,它是基于HTML之上,使用简洁的语法 ...
- 100小时学会sap傻瓜式入门版生产计划pp篇
100小时学会sap傻瓜式入门版-生产计划pp篇 生产计划: 1.定义生产计划参数文件,生产计划参数文件可以分配给物料或者生产计划员.分配给物料主数据的生产计划参数具有更高的优先级.在创建生产订单时, ...
- python初学者怎么入门-python初学者怎么入门
据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于是否"应该学习Python"也都发表 ...
最新文章
- java多线程绘图_菜鸟学Java之 Java2D 多线程绘图
- java计算数组均值
- 给mysql数据库设计编码_MYSQL数据库编码原理
- java kinect 人体识别_基于三个kinect的人体建模
- Kafka监控:Kafka-Manager
- 数据结构 3-2-2 队列的顺序存储实现
- 敏捷开发智慧敏捷系列之四:每日立会开多久?
- 已获千赞,从理论到实践!
- CoolBlog开发笔记第2课:搭建开发环境
- UNIGUI接收普通消息和被动回复用户消息
- paip.FTP服务架设选型
- vue展示日历 考勤展示_vue实现简单的日历效果
- 《Python参考手册》3 类型与对象
- 谈谈我对网站的个人规划
- 软件研发成本构成中的间接成本包括哪些?
- win10并排显示窗口怎么不能占据全屏
- vus3+Ts Apache ECharts 的使用(可视化图表库)
- 常用元数据标准/受控词表/本体词汇表/的命名空间前缀及IRI链接汇总
- MATLAB+CPLEX+YALMIP的几大安装注意点
- 什么都不会的应届生怎么找工作?