php语法-阿里云开发者社区

开发者社区> 数据库> 正文

php语法

简介:

<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 ,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章