php语法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

<strong>变量的定义:</strong>

$v1 = 1;

echo $v1;


<strong>数据类型</strong>

基本数据类型:int, integer, float, double, bool, boolean, string($v10=<<<ABCD 定界符字符串。),

符合数据类型:array, object

特殊数据类型:null, resource


数据类型转换

自动转换

强制转换


常量的定义

define("final name", value);

define("PI", 3.1415);

常量的使用:

$s = PI * 5 * 5;

常量的值只能使用基本数据类型。常量名全用大写。


传值方式

引用传值

拷贝传值


比较运算符

“==”模糊等

“===”严格等


循环的中断(同java)

break

continue


函数

定义形式:

function 函数名(形式参数1,形式参数2, 。。。。)

{

    //函数体。。。。

    return value;

}

碰到return,退出函数,回到函数调用点。

function f1($s)

{

    if($s>5)

    {

        return;

    } else {

         echo $s;

         return;

    }

    $v1 = $s * $s

}

形式参数的默认值

function f2($a, $b, $c=2)

{

    $s=$a+$b+$c;

    return $s;

如果有传实际参数就用实际参数,如果没有传则使用默认参数值。


字符串处理————使用函数

substr的用法对比

js中:

var str1 = "abcdefg";

v1 = str1.substr(2,3); 从str1中的第2位置开始取3个。

php中:

$str1 = "abcdefg";

$v1 = substr($str1, 2, 3);  从str1中的第2位置开始取3个。

其他方法详见手册


数学计算

详见手册


时间处理

获取时间(同C)


数组(array)

php中,数组也是若干个数据的有序的排列成为一个整体。php的数组,其“下标”可以是数字,也可以是“字符串”,也可以是混合的。

如果全是数字下标,通常称为“索引数组”

如果是全是字符下标,则通常称为“关联数组”

php中,通常不说“下标”这个概念,而是说“键”:键名和键值

$arr1 = array ( 5,  “abc”,  ‘mm’=>11,  7=>70,  80,  “111”)

数组的遍历:

foreach (数组变量    as     $value)

{

    循环语句段    //此时$value就是每一个值

}

// 或者:

foreach (数组变量  as  $key => $value)

{

    循环语句段      //此时$key是每一个键,

// $value是每一个值

}


变量作用域

php中:“全局”和“局部”是分离的,全局的只能在全局中用,局部的只能在局部中用。

不过:我们也可以使用如果如下语法来使全局变量可以在局部环境中使用:

global 变量名; //此句变量名为全局变量,且应该写在函数内部(局部)



php操作数据库

连接数据库:

a) mysql_connect("数据库服务器名/ip", "登录名/用户名", "密码")

设定当前环境:

mysql_query("set names utf8;"); //mysql_query为一个php函数

使用某个数据库:

mysql_query("use php0506_db;");

执行sql语句(数据库数据的 增删改):

$result = mysql_query("增删改语句");

if($result == true)

{

//执行成功之后的提示或其他语句

}

else

{

//执行成功之后的提示或其他语句

}


数据库数据的查询并显示数据:

1, 连接数据库服务器

2, 设定编码

3, 选择要操作的数据库

4, 构建查询语句:$sql = “select * from liuyanbiao”;

5, 执行查询并返回结果:$rs = mysql_query($sql);

6, 判断$rs, 如果为真:

a)获取数据行数:$len = mysql_num_rows($rs);

b)for循环读取数据:$arr = mysql_fetch_array( $rs );

i. 显示数据: echo $arr[‘字段名’];

7, 判断$rs,如果为假:表示selec语句执行失败。


php项目介绍流程介绍:

界面设计(美工) --> 网页制作(前端工程师) --> 编码实现(后端工程师) --> 测试(测试工程师)--> 交付,运营维护。


php的其他知识:

php中转到别的页面:header("location:index.php"); //这里是转到index.php

获取mysql的出错信息(如果有的话): $str = mysql_error()

获取结果集的行数: mysql_num_rows( 结果集名 );

引入其他文件: require (“其他文件名”);


网站数据提交/传递方式

post、get

post方式:

<form action=”文件名” method=”post”>

。。。。。。。。。。。。。。

</form>

post方式获取数据: $_POST[‘表单项的name值’]


get方式一:通过表单:

<form action=”文件名” method=”get”>

。。。。。。。。。。。。。。

</form>

get方式获取数据: $_GET[‘表单项的name值’]

get方式二:通过链接:

<a href=”文件名?name1=值1&name2=值2……” >文字</a>

这里,name1,name2等等只是一个数据项的名字,跟表单项类似(表单项的名字使用name属性)

例:

<a href=”abc.php?n=123” >go1</a>

<a href=”abc.php?kk=123&nn=abc” >go2</a>

<a href=”abc.php?myname=123&pp=abc&x1=xyz” >go3</a>

<a href="http://tuan.360.cn/?fname=hao_cai1_tuan_tuangou&amp;eee=hao_cai1_tuan_tuango">团购促销</a>

get方式获取数据: $_GET[‘数据项名’]







php标签

Php是一门嵌入式,意味着代码的混编文件,需要将php代码从其他代码中区别出来,就有了php的标签。

种类:4种。

标准标记

<?php ?>


<script language=”php”>

</script>


兼容标记

<? ?>短标记


<% %>asp风格

不是默认支持的,需要修改配置


删除一个变量:

Php的内置函数 unset()可以删除一个变量。


可变变量

一个变量的变量部分($后面的部分),可以由另外一个变量来充当:

$name = "hello";

$hello = 'world';

echo $$name;

world


php的八种数据类型

整型

浮点

布尔

字符串

数组

对象

资源

NULL


定界符:Heredoc

<<<标签

字符串内容

标签;

$s1 = <<<STR

hello

STR;


定界符:nowdoc

<<<'标签'

字符串内容

标签;

$s4 = <<<'STR'

world

STR;


两种定界符的区别:

Nowdoc不能解析内部的变量,而heredoc可以解析变量:


浮点数(双精度)的理论最大值是:

1.8E+308


类型的变量中常用的函数

var_dump();输出变量的信息(类型,值,长度)

unset();删除一个变量,删除一个数组元素,甚至删除对象的属性。

lsset();判断一个变量是否存在,一个数组元素,一个对象属性是否存在。一个值是否为null。

empty();判断一个变量是否是空值。(0,‘’,array(),0.0, null都算什么都没有) 理解成 (bool) data 的反义词empty(data)

Isset和empty的好处,在处理一个没有定义的变量时,不会报告一个notice级别的错误:


PHP中的替代语法

替代流程控制中的{},使用:替代{}

if(10>20):

    echo 'yes';

else:

    echo 'no';

endif;

替代语句,不单单适用于if,switch,for,while。Foreach,都有相应的替代语法。

替代语法,常见于html和php的混编文件内。

如果只有一条语句,可以省略两端的大括号!如:

if(10>20)

    echo 'yes';

else

    echo 'no';



分开写的:else if

else {

    if

}

相当于,else语句中由于只有if语句而省略了语句快的大括号的。逻辑上与elseif一致。

$score = 87;

if($score >= 90):

    echo 'A';

elseif($score >= 60):

    echo 'B';

else:

    echo 'C';

endif;

替代后的:

$score = 87;

if($score >= 90):

    echo 'A';

else:

    if($score >= 60):

        echo 'B';

    else:

        echo 'C';

    endif;

endif;


文件的加载

在一个php文件中,加载另一个php文件到当前代码中。

include './header.php';

文件载入的语法:

include,require,include_once,require_once。

以上四个载入结构,功能一致。但是会有细节区别。













本文转自ting2junshui51CTO博客,原文链接:http://blog.51cto.com/ting2junshui/1729674 ,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 关系型数据库 PHP
PHP基础语法
PHP基础语法
12 0
|
6月前
|
PHP
PHP基础语法(下)
本篇博客将会带你继续探索PHP语言的基础语法。本篇内容主要聚焦于PHP的流程控制语句和文件包含语句,掌握这些重要的语法结构将使您能够更好地控制程序流程,并且在开发过程中能够高效地组织和管理代码。
69 2
|
6月前
|
存储 PHP 容器
PHP基础语法(上)
PHP在当今世界仍然是一门流行和重要的服务器端脚本语言。它具有广泛的应用领域、强大的生态系统和不断发展的特点,为Web开发提供了可靠和灵活的解决方案。
63 8
|
7月前
|
XML 前端开发 JavaScript
PHP 语法入门
PHP 语法入门
19 0
|
8月前
|
PHP
php基础语法
php基础语法
37 2
|
9月前
|
关系型数据库 MySQL PHP
lockdatav-API在开发过程中php和mysql语法的优化方案
lockdatav-API在开发过程中php和mysql语法的优化方案
52 0
|
9月前
|
Shell PHP
shell检查php项目是否存在语法错误
当检查一个PHP项目中是否存在语法错误时,我们可以使用Shell脚本来自动化这个过程。在本文中,我们将介绍两种方法来实现这个目标。
156 0
|
PHP
php新语法
判断一个变量是a否存在,存在则赋值变量a,不存在赋值变量b;注意是判断一个变量是否存在,而不是判断一个变量是否为空
80 0
|
PHP
PHP解析Markdown库,parsedown扩展自定义语法
在开发系统过程中,有些信息编写储存是使用Markdown通用语法,但由于各个平台的会新增一些独特规范,一般的解析库都是只包含了标准语法,对于自定义语法是不支持解析的(如vuepress文档系统中的::: tip 提示语块) 我们从vuepress迁移文档系统到自己实现的文档系统时,特定标签无法解析,需要扩展解析库的功能,来完成自定义语法。 PHP常见的Markdown解析库是parsedown。这个库非常的轻量,只有一个文件,无需依赖其他扩展。
217 0
PHP解析Markdown库,parsedown扩展自定义语法
|
JavaScript
Ajax-PHP基础语法
Ajax-PHP基础语法
46 6