PHP基础语法例子:
- 输出Hello World
<?php
// 常规方式定义函数并调用
function add($x,$y){
return $x+$y;
}
echo add(2,3); //输出"5"
// 使用匿名函数
$add = function($x,$y){
return $x+$y;
};
echo $add(2,3); //输出"5"
?>
<?php
interface Shape {
public function getArea();
}
class Rectangle implements Shape {
private $width;
private $height;
public function __construct($width, $height) {
$this->width = $width;
$this->height = $height;
}
public function getArea() {
return $this->width * $this->height;
}
}
$rec = new Rectangle(5,6);
echo "The area of rectangle is ".$rec->getArea(); //输出"The area of rectangle is 30"
?>
匿名函数
<?php
namespace MyNamespace;
class MyClass{
public function sayHello(){
echo "Hello from MyNamespace!";
}
}
// 使用一个命名空间别名来避免命名冲突
use MyNamespace\MyClass as MC;
// 实例化对象并调用方法
$myObj = new MC();
$myObj->sayHello();
?>
接口
<?php
class Person{
public static $count = 0;
public function __construct() {
self::$count++;
}
public static function getCount() {
return self::$count;
}
}
$person1 = new Person();
echo Person::getCount(); // 输出"1"
$person2 = new Person();
echo Person::getCount(); // 输出"2"
?>
命名空间
<?php
class Person{
public $name; //公有属性,任何地方都可以访问
private $age; //私有属性,只能在类的内部访问
protected $address; //受保护属性,只能在本类和子类中访问
public function sayHello(){
echo "Hello, my name is ".$this->name;
}
private function getAge(){
return $this->age;
}
protected function getAddress(){
return $this->address;
}
}
$person1 = new Person();
$person1->name = "John"; //可以访问公有属性
$person1->sayHello(); //调用公有方法
//$person1->age = 30; //不能访问私有属性
//$age = $person1->getAge(); //不能调用私有方法
//$address = $person1->getAddress(); //不能访问受保护属性或方法
?>
静态属性和方法
<?php
class Animal{
public function move(){
echo "Animal move";
}
}
class Cat extends Animal{
}
$cat = new Cat();
$cat->move(); //输出"Animal move"
?>
访问修饰符public、private、protected
<?php
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
public function sayHello() {
echo "Hello, my name is ".$this->name;
}
}
$person1 = new Person("John");
$person1->sayHello();
?>
类的继承
<?php
function foo() {
echo "foo";
}
$functionName = 'foo';
$functionName();
?>
类定义和实例化对象
<?php
function greet($name="Guest") {
echo "Hello, $name!";
}
greet();
greet("John");
?>
可变函数名
<?php
function add($x, $y) {
return $x + $y;
}
echo add(2, 3);
?>
函数参数默认值
<?php
$colors = array("red", "green", "blue");
echo "My favorite color is " . $colors[0];
?>
函数定义和调用
<?php
$i=1;
do{
echo "$i ";
$i++;
}while($i<=5);
?>
数组的定义和输出
<?php
$i = 1;
while ($i <=5) {
echo "$i ";
$i++;
}
?>
do-while循环
<?php
$colors = array("red", "green", "blue");
foreach($colors as $color) {
echo "$color ";
}
?>
while循环
<?php
for ($i = 0; $i < 10; $i++) {
echo "$i ";
}
?>
foreach循环
<?php
$color = "red";
switch ($color) {
case "red":
echo "My favorite color is red";
break;
case "green":
echo "My favorite color is green";
break;
default:
echo "I don't have a favorite color";
}
?>
for循环
<?php
$age = 30;
if ($age >= 18) {
echo "You are an adult";
} else {
echo "You are a minor";
}
?>
switch语句
<?php
$name = "John Doe";
echo "My name is " . $name;
?>
条件语句if/else
<?php
$name = "John Doe";
$age = 30;
?>
输出变量
<?php echo "Hello World"; ?>
定义变量
PHP高级语法例子,分别是命名空间、接口、抽象类、Trait和匿名函数。命名空间可以用于避免不同代码文件的命名冲突,接口定义了类应该实现的方法,抽象类则是不能实例化但可以作为其他类的基础类。Trait可以在不同类之间共享方法和属性,匿名函数则是没有具体名称的可直接调用的函数。这些高级语法都能让PHP变得更加灵活和重用性更高,为开发者提供更多选择和工具来构建初入用户体验和高效率的应用程序。:
- 命名空间
namespace MyNamespace;
class MyClass {
public function greeting() {
echo "Hello World!";
}
}
- 接口
interface Animal {
public function makeSound();
}
class Dog implements Animal {
public function makeSound() {
echo "Bark";
}
}
- 抽象类
abstract class Car {
abstract public function engine();
}
class BMW extends Car {
public function engine() {
echo "BMW Engine";
}
}
- Trait
trait Greeting {
public function sayHello() {
echo "Hello";
}
}
class MyClass {
use Greeting;
}
- 匿名函数
$greeting = function($name) {
echo "Hello $name";
};
$greeting('Tom'); // 输出“Hello Tom”
PHP是一种常用的服务器端脚本语言,MySQL则是一种常用的关系型数据库管理系统。PHP连接MySQL数据库可以让我们在网站开发中实现动态的数据存储和查询功能。
在开发Web应用程序的过程中,处理数据是不可避免的一个任务。为了方便地存储、检索和操作数据,我们通常会使用数据库。MySQL是一个开源的关系型数据库管理系统,被广泛应用于Web开发领域。在这篇文章中,我们将介绍如何使用PHP连接MySQL数据库并执行增删改查操作。
一. 连接MySQL数据库
在使用PHP操作MySQL之前,需要确保已经安装了MySQL服务器,并且已经创建了一个数据库。现在我们将以本地服务器为例,展示如何连接到MySQL数据库。
首先,在PHP文件中添加以下代码,设置MySQL服务器信息:
<?php
$servername = "localhost"; // MySQL主机名(通常为 localhost)
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
?>
接下来,使用mysqli函数建立连接:
<?php
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
以上代码建立了与MySQL服务器的连接,并检测到连接是否成功。如果连接失败,则输出错误信息并终止脚本。
二. 执行增删改查操作
一旦建立了与MySQL服务器的连接,就可以执行增删改查操作了。下面将分别介绍如何执行这些操作。
- 插入数据
要向表中插入数据,需要使用INSERT INTO语句。下面是一个将数据插入MyGuests表的示例:
<?php
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
以上代码向MyGuests表中插入了一条记录,其中包含名为“John”的人的名、姓和电子邮件地址。
- 更新数据
要更新表中的现有数据,需要使用UPDATE语句。下面是一个将姓为“Doe”的人的名字更改为“Smith”的示例:
<?php
$sql = "UPDATE MyGuests SET lastname='Smith' WHERE id=2";
if ($conn->query($sql) === TRUE) {
echo "记录更新成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
以上代码将id为2的MyGuests表中的记录的姓氏更改为“Smith”。
- 删除数据
要删除表中的现有数据,需要使用DELETE FROM语句。下面是一个从MyGuests表中删除id为3的记录示例:
<?php
$sql = "DELETE FROM MyGuests WHERE id=3";
if ($conn->query($sql) === TRUE) {
echo "记录删除成功";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
- 查询数据
要从表中检索数据,需要使用SELECT语句。下面是一个选择MyGuests表中所有记录的示例:
<?php
$sql = "SELECT * FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
以上代码从MyGuests表中检索所有记录,并将结果输出到浏览器上。
当使用PHP连接MySQL数据库时,我们需要注意以下几点:
-
数据库连接信息的正确性:确保您提供的主机名、用户名、密码和数据库名称正确无误。如果这些信息不正确,连接将失败。
-
错误处理:在尝试连接到MySQL时,始终应该包含错误处理代码。此外,如果SQL查询包含错误或结果集为空,则应相应地处理它们。
-
安全性:应该始终使用预处理语句或过滤器来防范SQL注入等攻击。