开始学习PHP之开篇入门版

这篇具有很好参考价值的文章主要介绍了开始学习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(私有):私有的类成员则只能被其定义所在的类访问。文章来源地址https://www.toymoban.com/news/detail-468536.html

到了这里,关于开始学习PHP之开篇入门版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【技巧】Latex在线工具:公式编辑器、表格编辑器

    找到什么再补充 目录 表格编辑器 公式编辑器 https://www.tablesgenerator.com/   https://www.latexlive.com/

    2024年02月15日
    浏览(63)
  • matlab入门,在线编辑,无需安装matab

    matlab相关教程做的很完善,除了B站看看教程,官方教程我觉得更加高效。跟着教程一步一步编辑,非常方便。 阅读 MATLAB 官方教程: MATLAB 官方教程提供了从基础到高级的教学内容,内容包括 MATLAB 的基本语法、数据处理、绘图和模型建立等方面。逐步按照教程学习,并通过

    2024年02月21日
    浏览(31)
  • Nuxt 菜鸟入门学习笔记三:视图

    Nuxt 官网地址: https://nuxt.com/ Nuxt 提供多个组件层来实现应用程序的用户界面。 入口文件 App.vue 组件 Components 页面 Pages 布局 Layouts 下面逐一进行介绍。 默认情况下,Nuxt 会将 app.vue 文件视为入口点,并在应用程序的每个路由中呈现其内容。下面的代码片段是 app.vue 文件的基础

    2024年02月10日
    浏览(44)
  • Nuxt 菜鸟入门学习笔记四:静态资源

    Nuxt 官网地址: https://nuxt.com/ Nuxt 使用以下两个目录来处理 CSS、fonts 和图片等静态资源: public 目录用作静态资产的公共服务器,可通过应用程序定义的 URL 公开获取。 换言之,就是可以通过应用程序的代码或浏览器通过根 URL / 获取 public 目录中的文件。 public 目录下的内容将

    2024年02月11日
    浏览(44)
  • 从零开始入门创作游戏——Unity编辑器的使用

    还没找到工作的我继续瞎折腾中,上次搭建环境就花了我3天的时间 从零开始入门创作游戏——Unity3d的环境搭建_默哀d的博客-CSDN博客 接下来是根据油土鳖的视频学习创作的一个小恐龙跳跳跳游戏,直接上手做一次学得更多 https://www.youtube.com/watch?v=UdM9DEys-rI 选择2D核心模板就可

    2024年02月05日
    浏览(64)
  • 开源在线excel展示插件 js excel 在线插件 合并单元格 设置单元格样式 编辑工具

     源码:https://github.com/yufb12/dataexcel.git 在线预览地地址 http://www.dataexcel.cn/dataexceljs.html 1、js 版本 es6  2、绘图引擎 zrender 地址  ZRender 文档 (ecomfe.github.io)  3、 文件保存格式json  4、创建并初始化  5、文件 新建保存

    2024年02月17日
    浏览(50)
  • Nuxt 菜鸟入门学习笔记五:CSS 样式

    Nuxt 官网地址: https://nuxt.com/ Nuxt 在样式设计方面非常灵活。 可以编写自己的样式; 可以引用本地和外部样式表; 可以使用 CSS 预处理器、CSS 框架、UI 库和 Nuxt 模块来为应用程序设计样式。 按照惯例,将本地样式表放在 assets/ 目录下。 在组件内导入的样式表将在 Nuxt 渲染的

    2024年02月10日
    浏览(41)
  • 前端 富文本编辑器原理——从javascript、html、css开始入门

    大家好,我是yma16,本文分享关于前端 富文本编辑器原理——从javascript、html、css开始。 富文本编辑器 富文本编辑器是指具有格式化文本和图像编辑功能的文本编辑器 参考文档:https://w3c.github.io/selection-api/#abstract 全局属性 contenteditable 是一个枚举属性,表示元素是否可被用

    2024年02月08日
    浏览(47)
  • NotionAI - 文档领域的ChatGPT,一款 AI 加持的在线文档编辑和管理工具

    NotionAI - 文档领域的ChatGPT,一款 AI 加持的在线文档编辑和管理工具 作为国际领先的在线文档编辑和管理工具,Notion受到了广大用户的欢迎,尤其是程序员们。它不仅支持笔记、编码等基本的在线文档功能,还支持团队协作、项目管理等能力,功能十分强大。 notion 不仅有WE

    2024年02月06日
    浏览(73)
  • 如何使用Docker搭建WBO在线协作工具并实现无公网IP远程编辑本地白板

    WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和教学,使用起来也非常有趣。 下面结合cpolar内网穿透工具,实现

    2024年04月17日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包