首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >php教程菜鸟

php教程菜鸟

作者头像
zhangjiqun
发布于 2024-12-17 08:16:09
发布于 2024-12-17 08:16:09
3.7K0
举报
文章被收录于专栏:计算机工具计算机工具

php 面向对象语言,封装,继承(单继承,接口多继承),多态(重写,重载)

代码语言:javascript
复制
<?php
for ($i=1; $i<=5; $i++)
{
    echo "数字为 " . $i . PHP_EOL;
}
?>

PHP(PHP:Hypertext Preprocessor,超文本预处理器")

是一种通用开源脚本语言。

PHP 文件是什么?

  • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
  • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
  • PHP 文件的默认文件扩展名是 ".php"

PHP 能做什么?

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

通过 PHP,您不再限于输出 HTML。您可以输出图像、PDF 文件,甚至 Flash 电影。您还可以输出任意的文本,比如 XHTML 和 XML。

为什么使用 PHP?

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 是免费的,可从官方的 PHP 资源下载它: www.php.net
  • PHP 易于学习,并可高效地运行在服务器端

基本的 PHP 语法

PHP 脚本可以放在文档中的任何位置。

PHP 脚本以 <?php 开始,以 ?> 结束:

<?php // PHP 代码 ?>

PHP 变量

与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的(y 和 Y 是两个不同的变量)

PHP 变量作用域

变量的作用域是脚本中变量可被引用/使用的部分。

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

  • local
  • global
  • static
  • parameter

PHP echo 和 print 语句

echo 和 print 区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串,返回值总为 1

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

PHP 布尔型

布尔型可以是 TRUE 或 FALSE。

x=true; y=false;

布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。

PHP 数组:array

数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

<?php

PHP 类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

设置 PHP 常量:define,常量是全局的

设置常量,使用 define() 函数,函数语法如下:

代码语言:javascript
复制
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
代码语言:javascript
复制
<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>

上面的代码将输出:Hello world! What a nice day!

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

php并置

php 绝对不等于

PHP - if...elseif....else 语句

PHP Switch 语句

获取数组的长度 - count() 函数

count() 函数用于返回数组的长度(元素的数量):

<?php $cars=array("Volvo","BMW","Toyota");

echo count($cars); ?>

遍历数值数组

遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:

代码语言:javascript
复制
<?php $cars=array("Volvo","BMW","Toyota"); 

$arrlength=count($cars); 

for($x=0;$x<$arrlength;$x++)

{ echo $cars[$x]; echo "<br>"; } ?>

PHP 关联数组

关联数组是使用您分配给数组的指定的键的数组。

这里有两种创建关联数组的方法:

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

or:

age['Peter']="35";

随后可以在脚本中使用指定的键:

代码语言:javascript
复制
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

echo "Peter is " . $age['Peter'] . " years old."; ?>//红点进行字符串拼接

PHP - 数组排序函数

在本章中,我们将一一介绍下列 PHP 数组排序函数:

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

<?php

https://www.runoob.com/php/php-arrays-sort.html

PHP 超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

PHP 超级全局变量列表:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

PHP 循环

在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。

在 PHP 中,提供了下列循环语句:

  • while - 只要指定的条件成立,则循环执行代码块
  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
  • for - 循环执行代码块指定的次数
  • foreach - 根据数组中每个元素来循环代码块

php for

代码语言:javascript
复制
<?php
for ($i=1; $i<=5; $i++)
{
    echo "数字为 " . $i . PHP_EOL;
}
?>

foreach 循环

foreach 循环用于遍历数组。

代码语言:javascript
复制
foreach ($array as $value)
{
    要执行代码;
}

一个输出给定数组键与值的循环:

代码语言:javascript
复制
<?php
$x=array(1=>"Google", 2=>"Runoob", 3=>"Taobao");
foreach ($x as $key => $value)
{
    echo "key  为 " . $key . ",对应的 value 为 ". $value . PHP_EOL;
}
?>

PHP 函数 - 添加参数

为了给函数添加更多的功能,我们可以添加参数,参数类似变量。

参数就在函数名称后面的一个括号内指定。

代码语言:javascript
复制
<?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");
?>
代码语言:javascript
复制
My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes.
My brother's name is Stale Refsnes.

PHP 函数 - 返回值

如需让函数返回一个值,请使用 return 语句。

代码语言:javascript
复制
<?php
function add($x,$y)
{
    $total=$x+$y;
    return $total;
}
 
echo "1 + 16 = " . add(1,16);
?>
代码语言:javascript
复制
1 + 16 = 17

PHP 类定义

PHP 定义类通常语法格式如下:

代码语言:javascript
复制
<?php
class phpClass {
  var $var1;
  var $var2 = "constant string";
  
  function myfunc ($arg1, $arg2) {
     [..]
  }
  [..]
}
?>

解析如下:

  • 类使用 class 关键字后加上类名定义。
  • 类名后的一对大括号({})内可以定义变量和方法。
  • 类的变量使用 var 来声明, 变量也可以初始化值。
  • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。
代码语言:javascript
复制
<?php
class Site {
  /* 成员变量 */
  var $url;
  var $title;
  
  /* 成员函数 */
  function setUrl($par){
     $this->url = $par;
  }
  
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
  
  function setTitle($par){
     $this->title = $par;
  }
  
  function getTitle(){
     echo $this->title . PHP_EOL;
  }
}
?>

变量 $this 代表自身的对象。

对象属性使用:->

PHP 中创建对象

类创建后,我们可以使用 new 运算符来实例化该类的对象:

代码语言:javascript
复制
$runoob = new Site;
$taobao = new Site;
$google = new Site;

以上代码我们创建了三个对象,三个对象各自都是独立的,接下来我们来看看如何访问成员方法与成员变量。

调用成员方法

在实例化对象后,我们可以使用该对象调用成员方法,该对象的成员方法只能操作该对象的成员变量:

代码语言:javascript
复制
// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );

$runoob->setUrl( 'www.runoob.com' );
$taobao->setUrl( 'www.taobao.com' );
$google->setUrl( 'www.google.com' );

// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();

$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();

完整代码如下:

实例

<?php

class Site {

/* 成员变量 */

var $url;

var $title;

/* 成员函数 */

function setUrl($par){

$this->url = $par;

}

function getUrl(){

echo $this->url . PHP_EOL;

}

function setTitle($par){

$this->title = $par;

}

function getTitle(){

echo $this->title . PHP_EOL;

}

}

$runoob = new Site;

$taobao = new Site;

$google = new Site;

// 调用成员函数,设置标题和URL

$runoob->setTitle( "菜鸟教程" );

$taobao->setTitle( "淘宝" );

$google->setTitle( "Google 搜索" );

$runoob->setUrl( 'www.runoob.com' );

$taobao->setUrl( 'www.taobao.com' );

$google->setUrl( 'www.google.com' );

// 调用成员函数,获取标题和URL

$runoob->getTitle();

$taobao->getTitle();

$google->getTitle();

$runoob->getUrl();

$taobao->getUrl();

$google->getUrl();

?>

php 面向对象语言,封装,继承(单继承,接口多继承),多态(重写,重载)

访问控制

PHP 对属性或方法的访问控制,是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。

  • public(公有):公有的类成员可以在任何地方被访问。
  • protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
  • private(私有):私有的类成员则只能被其定义所在的类访问。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • php 面向对象语言,封装,继承(单继承,接口多继承),多态(重写,重载)
  • PHP(PHP:Hypertext Preprocessor,超文本预处理器")
    • PHP 文件是什么?
    • PHP 能做什么?
    • 为什么使用 PHP?
    • 基本的 PHP 语法
    • PHP 变量
    • PHP 变量作用域
    • PHP echo 和 print 语句
    • PHP 布尔型
    • PHP 数组:array
  • PHP 类型比较
    • 设置 PHP 常量:define,常量是全局的
  • php并置
  • php 绝对不等于
  • PHP - if...elseif....else 语句
  • PHP Switch 语句
    • 获取数组的长度 - count() 函数
    • 遍历数值数组
    • PHP 关联数组
    • PHP - 数组排序函数
    • PHP 超级全局变量
    • PHP 循环
  • php for
    • foreach 循环
    • PHP 函数 - 添加参数
    • PHP 函数 - 返回值
    • PHP 类定义
    • PHP 中创建对象
      • 调用成员方法
    • 实例
  • php 面向对象语言,封装,继承(单继承,接口多继承),多态(重写,重载)
  • 访问控制
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档