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(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。文章来源:https://www.toymoban.com/news/detail-468536.html
private(私有):私有的类成员则只能被其定义所在的类访问。文章来源地址https://www.toymoban.com/news/detail-468536.html
到了这里,关于开始学习PHP之开篇入门版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!