搜索
首页后端开发PHP问题php基本语法快速入门手册

php基本语法快速入门手册

Jul 12, 2016 am 09:01 AM
php手册语法

php基本语法快速入门手册

本文为大家分享了一些php基本语法的相关知识,对于一些初学者非常有参考价值,希望能够帮助到大家。

php脚本的后面名为.php,代码放置在下面的括号里面:

 <?php ....... ?>

echo可以打印信息,类似于printf。

 <?php 
 echo "hallo world"; 
 ?>

每条语句后面用分号结尾;。

php支持三种注释方式:

 <?php 
 // 第一种 
 # 第二种 
 /* 这是 多行 注释 */ 
 ?>

在php中,函数、类、和关键词的大小写都是同一个东西:

 <!DOCTYPE html> 
 <html> 
 <body> 
 <?php 
     ECHO "Hello World!<br>"; 
     echo "Hello World!<br>"; 
     EcHo "Hello World!<br>"; 
 ?>
 </body> 
 </html>

不过所有变量都对大小写敏感,需要区分大小写。

 <?php 
     $color="red"; 
     $Color="black"; 
     echo "my car is " . $color . "<br>"; 
     echo "my car is " . $Color . "<br>"; 
 ?>

上面的例子同时指出了变量定义以及字符串拼接的语法。

变量命名规则:

PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
  • 变量会在第一次赋值时被创建。无需声明变量的类型。

变量会有三种不同的作用域:

PHP 有三种不同的变量作用域:

  1. local(局部)
  2. global(全局)
  3. static(静态)

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
下面的例子测试了带有局部和全局作用域的变量:

 <?php 
 $x=5; // 全局作用域 
 function myTest() { 
 $y=10; // 局部作用域 
 echo "<p>测试函数内部的变量:</p>"; 
 echo "变量 x 是:$x"; 
 echo "<br>"; 
 echo "变量 y 是:$y"; 
 } 
 myTest(); 
 echo "<p>测试函数之外的变量:</p>"; 
 echo "变量 x 是:$x"; 
 echo "<br>"; 
 echo "变量 y 是:$y"; 
 ?>

运行结果:

测试函数内部的变量:

变量 x 是:
变量 y 是:10
测试函数之外的变量:

变量 x 是:5
变量 y 是:
比较奇怪的就是为什么全局变量不能在局部函数内访问。

其实可以访问,不过需要global关键字的帮助:

global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:

<?php
$x=5;
$y=10;

function myTest() {
 global $x,$y;
 $y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>

PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

<?php
$x=5;
$y=10;

function myTest() {
 $GLOBALS[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];
} 

myTest();
echo $y; // 输出 15
?>

通常,当函数完成执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要static:

(推荐学习:php课程

<?php

function myTest() {
 static $x=0;
 echo $x;
 $x++;
}

myTest();
myTest();
myTest();

?>

php中echo和print都能使用,两者的唯一区别是print返回1,echo没有返回值。

strlen函数可以返回字符串的长度。

strpos函数用来确定另外一个字符串的位置:

 <?php 
 echo strpos("Hello world!","world"); 
 ?>

使用define函数来定义常量:

 <?php 
 define("GREETING", "Welcome to W3School.com.cn!"); 
 echo GREETING; 
 ?>

define函数还有第三个参数,用来指定是否大小写敏感。

php的if-else语句和其他语言大同小异,举个例子:

<?php
$t=date("H");

if ($t<"10") {
 echo "Have a good morning!";
} elseif ($t<"20") {
 echo "Have a good day!";
} else {
 echo "Have a good night!";
}
?>

switch-case语句:

<?php
switch ($x)
{
case 1:
 echo "Number 1";
 break;
case 2:
 echo "Number 2";
 break;
case 3:
 echo "Number 3";
 break;
default:
 echo "No number between 1 and 3";
}
?>

while、for语句和其他语言无差别,看看foreach吧:

<?php 
$colors = array("red","green","blue","yellow"); 

foreach ($colors as $value) {
 echo "$value <br>";
}
?>

php的真正力量来自于它的函数,它有1000个内置函数。

用户定义的函数声明以关单 "function" 开头:

function functionName() {
   被执行的代码;
 }

举个例子:

<?php
function writeMsg() {
 echo "Hello world!";
}

writeMsg(); // 调用函数
?>

// 含参数
<?php
function familyName($fname,$year) {
 echo "$fname Zhang. Born in $year <br>";
}

familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>

// 默认参数
<?php
function setHeight($minheight=50) {
 echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>

// 返回值
<?php
function sum($x,$y) {
 $z=$x+$y;
 return $z;
}

echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>

在 PHP 中,有三种数组类型:

  1. 索引数组 - 带有数字索引的数组
  2. 关联数组 - 带有指定键的数组
  3. 多维数组 - 包含一个或多个数组的数组

索引数组:

$cars=array("Volvo","BMW","SAAB");
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

// count
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>

// 变量索引数组
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);

for($x=0;$x<$arrlength;$x++) {
 echo $cars[$x];
 echo "<br>";
}
?>

关联数组:

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

$age[&#39;Peter&#39;]="35";
$age[&#39;Ben&#39;]="37";
$age[&#39;Joe&#39;]="43";

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age[&#39;Peter&#39;] . " years old.";
?>




// 遍历
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");

foreach($age as $x=>$x_value) {
 echo "Key=" . $x . ", Value=" . $x_value;
 echo "<br>";
}
?>

数组排序方法有下面这些:

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

比较难理解的是键值对排序。

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>

超全局变量,也就是预定义的全局变量,在哪里都能用,有特殊含义:

  • $GLOBALS:引用全局作用域中可用的全部变量
  • $_SERVER:保存关于报头、路径和脚本位置的信息。
  • $_REQUEST:用于收集 HTML 表单提交的数据。
  • $_POST:用于收集提交 method="post" 的 HTML 表单后的表单数据。也常用于传递变量。
  • $_GET:$_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

其他内容可以在表单处理中找到。

想学习更多php相关知识,请访问php中文网

声明
本文转载于:脚本之家。如有侵权,请联系admin@php.cn删除
酸与基本数据库:差异和何时使用。酸与基本数据库:差异和何时使用。Mar 26, 2025 pm 04:19 PM

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

PHP安全文件上传:防止与文件相关的漏洞。PHP安全文件上传:防止与文件相关的漏洞。Mar 26, 2025 pm 04:18 PM

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

PHP输入验证:最佳实践。PHP输入验证:最佳实践。Mar 26, 2025 pm 04:17 PM

文章讨论了PHP输入验证以增强安全性的最佳实践,重点是使用内置功能,白名单方法和服务器端验证等技术。

PHP API率限制:实施策略。PHP API率限制:实施策略。Mar 26, 2025 pm 04:16 PM

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

php密码哈希:password_hash和password_verify。php密码哈希:password_hash和password_verify。Mar 26, 2025 pm 04:15 PM

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

OWASP前10 php:描述并减轻常见漏洞。OWASP前10 php:描述并减轻常见漏洞。Mar 26, 2025 pm 04:13 PM

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。

PHP XSS预防:如何预防XSS。PHP XSS预防:如何预防XSS。Mar 26, 2025 pm 04:12 PM

本文讨论了防止PHP中XSS攻击的策略,专注于输入消毒,输出编码以及使用安全增强的库和框架。

PHP接口与抽象类:何时使用。PHP接口与抽象类:何时使用。Mar 26, 2025 pm 04:11 PM

本文讨论了PHP中接口和抽象类的使用,重点是何时使用。界面定义了无实施的合同,适用于无关类和多重继承。摘要类提供常见功能

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中