PHP 基础知识

PHP中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。

变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‘。

$this是一个特殊的变量,它不能被赋值。

基础

$开头,跟着字母或者下划线,后面可以是数字,甚至是中文。不过要按照命名规范,使用驼峰命名.

1

2

3

4

5

6

7

8

9

10

11

12

 

<?php

$var
=
'Bob';

$Var
=
'Joe';
// 区分大小写

echo
"$var, $Var";      //
输出 "Bob, Joe"

 

$4site
=
'not yet';    
// 非法变量名;以数字开头

$_4site
=
'not yet';    //
合法变量名;以下划线开头

$i站点is
=
'mansikka';  //
合法变量名;可以用中文

?>

 

 

使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。例如,下列代码片断将输出“My name is Bob”两次:

1

2

3

4

5

6

7

8

9

10

11

 

<?php

$foo
=
'Bob';              //
将 'Bob' 赋给 $foo

$bar
=
&$foo;              //
通过 $bar 引用 $foo

$bar
=
"My name is $bar";  //
修改 $bar 变量

echo
$bar;

echo
$foo;                
// $foo 的值也被修改

 

$vbar
=
&(24
*
7);  //
非法; 引用没有名字的表达式

?>

 

默认值:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

 

// 未赋值和无上下文声明的变量,默认值为NULL

var_dump($unset_var);

 

// 可根据上下文

echo($unset_bool
?
"true\n"
:
"false\n");

 

// String usage; outputs 'string(3) "abc"'

$unset_str
.=
'abc';

var_dump($unset_str);

 

// Integer usage; outputs 'int(25)'

$unset_int
+=
25;
// 0 + 25 => 25

var_dump($unset_int);

 

// Float/double usage; outputs 'float(1.25)'

$unset_float
+=
1.25;

var_dump($unset_float);

 

// Array usage; outputs array(1) {  [3]=>  string(3) "def"
}

$unset_arr[3]
=
"def";
// array() + array(3 => "def") => array(3 => "def")

var_dump($unset_arr);

 

// Object usage; creates new stdClass object (see http://www.php.net/manual/en/reserved.classes.php)

// Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3)
"bar" }

$unset_obj->foo
=
'bar';

var_dump($unset_obj);

 

判断是否有值:

1

2

3

4

5

6

7

8

9

 

<?php

print
isset($a);
// $a is not set. Prints false. (Or more accurately
prints ''.)

$b
=
0;
// isset($b) returns true (or more accurately '1')

$c
=
array();
// isset($c) returns true

$b
=
null;
// Now isset($b) returns false;

unset($c);
// Now isset($c) returns false;

?>

 

预定义变量

1

2

3

4

5

6

7

8

9

 

$_GET      //
所有GET请求参数

$_POST    
// 所有POST请求参数

$_ENV      //
环境变量

$_SERVER  

$_COOKIE  
// cookie

$_REQUEST  //
所有请求参数

$_SESSION  //
session值

 

PHP标记

PHP脚本以<?php 开头,以 ?> 结尾:

1

2

3

4

5

 

<?php

  
echo
"Hello world!";

?>

 

当解析一个文件时,PHP会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉PHP开始和停止解析二者之间的代码。此种解析方式使得PHP可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被PHP解析器忽略。

PHP也允许使用短标记 <? 和 ?>,但不鼓励使用。只有通过激活php.ini中的 shortopentag配置指令或者在编译PHP时使用了配置选项 –enable-short-tags 时才能使用短标记。

如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记。这可以避免在 PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图。

例如,下面的是在一个文件中的,这个文件只有PHP代码,此时建义不要加上?>结束标识:

1

2

3

4

5

6

7

 

<?php  //
Html safe containers

 

echo
"Hello world<br>";

echo
"test<br>";

echo
"www.henishuo.com";

 

从HTML中分离

凡是在一对开始和结束标记之外的内容都会被PHP解析器忽略,这使得PHP文件可以具备混合内容。可以使PHP嵌入到HTML文档中去,如下例所示:

1

2

3

4

5

6

7

 

<p>This
is
going
to
be
ignored
by
PHP
and
displayed
by
the
browser.</p>

 

<?php
echo
'While this is going to be parsed.';
?>

 

<p>This
will
also
be
ignored
by
PHP
and
displayed
by
the
browser.</p>

 

条件分离:

1

2

3

4

5

6

7

8

9

10

11

12

13

 

<?php
$expression
=
true
?>

 

<?php
if
($expression
==
true)
{

    echo
"expression is true";

}
?>

 

<?php
if
($expression
==
true):
?>

  This
will
show
if
the
expression
is
true.

<?php
else:
?>

  Otherwise
this
will
show.

<?php
endif;
?>

 

指令分隔符

同C语言一样,PHP需要在每个语句后用分号结束指令。一段PHP代码中的结束标记隐含表示了一个分号;在一个PHP代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。

1

2

3

4

5

6

7

8

9

 

<?php

    echo
"This is a test";

?>

 

<?php
echo
"This is a test"
?>

 

<?php
echo
'We omitted the last closing tag';?>

 

注释

PHP支持C、C++、Unix Shell风格(Perl 风格)的注释。例如:

1

2

3

4

5

6

7

8

9

10

11

12

 

<?php

    echo
"This is a test";
// This is a one-line c++ style comment

    

    /*
This is a multi line comment

       yet another line of comment

     */  

    echo
"This is yet another test";

    

    echo
'One Final Test';
# This is a one-line shell-style comment

?>

 

可以使用//或者#注释单行,可以使用/**/注释段。

时间: 2024-09-16 16:20:07

PHP 基础知识的相关文章

RESTful_基础知识

前言 本篇主要是RESTful的基础知识整理,主要是为了将要开始的Openstack架构主题做知识积累.理解好RESTful的设计思想无论是对学习Openstack架构还是Openstack Dashboard实现都是一件事半功倍的事情. RESTful REST(Representational State Transfer):是一种软件架构的设计风格,而不是一种标准.主要用于C/S架构的软件设计,也能很好的支持B/S架构,为软件设计提供了一组原则和约束条件,但这是原则和约束的条件均不具有标准

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

黑马程序员 一、java 概述与基础知识

获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法.和手段通 过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完 成某种特定的任务.这种人和计算机之间交流的过程就是编程.   2.Java 语言概述,历史.特点 是 SUN(Stanford Universit

MFC 基础知识:主对话框与子对话框(一)

(仅供使用VS MFC初学者学习,高手莫见笑)在MFC中通常会使用点击一个按钮,弹出一个子对话框的基础知识,这些都是学习MFC的基础知识,也是非常重要的知识,这里我就简单的讲讲这些知识. 一. 设置主对话框 1.文件-新建项目(我设置的过程名为:EditSet)-MFC应用程序-该页面使用"基于对话框"-完成即可.2.在"资源视图"中打开Dialog对话框,删除"TODO:在此处放置对话框控件"和"确定"."退出&q

MFC 基础知识:主对话框与子对话框(二)

(仅供使用VS MFC初学者学习,高手莫见笑)接"MFC 基础知识:主对话框与子对话框(一)"的内容在"MFC 基础知识:主对话框与子对话框(一)"中Edit Control(编辑框)控件中输出内容,主要是想讲讲在创建的子对话框中如何实现一些操作:即添加OnInitDialog初始化函数的操作,这里的操作VS2012与VC++6.0略有些改动. 一. 主对话框编辑框中输出内容 1.找到主对话框XXXDlg.cpp中的OnInitDialog()初始化函数,在函数注释

基础知识__WebService

基础知识__WebService 本文由 Luzhuo 编写,请尊重个人劳动成果,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/50511873 微博: http://weibo.com/u/2524456400 这是一篇关于WebService的基础知识的整理 介绍 提供一种通过web方式访问的Api. 解决两个系统/应用之间的远程调用.(跨语言,跨平台) 简单应用(原理) New –> java project –> -

[C++ 面试基础知识总结]字符串,向量和数组

[C++ 面试基础知识总结]字符串,向量和数组 参考书籍:<C++ Primer> 目录 C 面试基础知识总结字符串向量和数组 目录 string string的读写 stringsize_type类型 string对象和字面值相加 vector容器 vector的初始化 使用vector的注意事项 迭代器 迭代器运算符 使用迭代器实现二分查找 数组 初始化和赋值 字符数组 数组与指针 C风格字符串 多维数组中的指针 string string的读写 #include <iostream

记录由Equal基础知识引起的内存泄露

      在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助.在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存.解决问题的时,公司不能上网,没有内存分析工具,没有我钟爱的ANTS Memory Profiler帮助下,我们只能靠简单的内存输出来二分查找缩小范围,利用 System.Diagnostics命名空间下的Process的WorkingSet64属性来统计两次输出的内存增长量(WorkingSet64:描述关联的

编程所需的基础知识

编程所需的基础知识 编程所需的基础知识 想要在编程行业能够走的远,一些基础知识是不能少的,基础奠定了发展的方向.java私塾建议大家在学习java语言本身的同时学习一些其他计算机相关的基础课程. 1. 一定的英文阅读能力因为程序设计接触的很多文档都是以英文的形式提供的,而且新的技术资料都是英文的,要想第一手学会这些新技术就必须能看懂英文,多阅读英文资料,使用金山词霸等工具配合,长时间的处在这样的环境里,自然而然英语的阅读能力就提高了.一个阅读英文很困难的人,可以学会程序设计,但是不会有很深的造诣

php基础知识笔记

include和require的异同:   相同点:都可以引入其他的php文件.   不同点:include当出现引入文件错误时,只会出现警告,但程序仍然会继续往下执行.而当require出现错误时则会报错,程序终止.   一般来说都是使用include_once和require_once,而不使用include和require.引入文件的语句要放在最前面,这点就类似C语言.       php变量是区分大小写的,但是函数名却不区分大小写.且不能以数字开头.例如Abc和abc是一样的,如果这样的