php 常量、变量用法详细介绍

 更新时间:2016年11月25日 15:07  点击:1443
以前很少这么详细的给大家介绍php中的变量、常量以及魔术常量的用法以及参考表,这文章对于初学者有不小的帮助有需要了解的朋友可以参考一下。

变量:

变量用于存储值,比如数字、文本字符串或数组。

一旦设置了某个变量,我们就可以在脚本中重复地使用它。

PHP 中的所有变量都是以 $ 符号开始的。

在 PHP 中设置变量的正确方法是:

 代码如下 复制代码
$var_name = value;

PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。

让我们试着创建一个存有字符串的变量,和一个存有数值的变量:

 代码如下 复制代码
<?php
$txt = "Hello World!";
$number = 16;
?>

 

1.如何定义变量,它和C# 等语言有什么不同呢?
   PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。例如:

 代码如下 复制代码
<?php
 $var='Jim';
  $VAR='Kimi;
  echo "$var,$VAR";//输出“Jim,Kimi"

 ?>你可能还关心变量的命名,其实和大多数语言一样。
2. 变量区分大小写吗?
   如 1里说的,区分大小写。
  注意,需要说明的一点是自PHP4以来,引入了引用赋值的概念,其实和多数语言的引用类似,不过我觉得最类似的是C/C++.因为它也用到了"&"符号。例如: 

 代码如下 复制代码
1 <?php
2 $foo = 'Bob';              // 赋值'Bob'给foo
3 $bar = &$foo;              // 通过$bar引用.注意&符号
4 $bar = "My name is $bar";  // 修改 $bar
5 echo $bar;
6 echo $foo;                // $foo 也修改了.
7 ?>

和其他语言一样,只能对有变量名的变量才可以引用。


好了现在大家对变量应该有一个大概的了解了,现在我们看看变量的间接引用和字符串连接。

①变量的间接引用: 先看个例子吧

 代码如下 复制代码
<?
 $a = "b";
 $$a = "123";
 echo $b;
?>

 

上面的输出结果是123

我们可以看到在第二行代码中多了一个$,并通过指定的名称访问变量,指定的名字存储在$a("b")中,并把这个变量$b的值更改为123。因此,这样的$b的变量被创建和赋值。

通过在变量的前面增加附加的$标记,你可以任意增加引用的次数。

 ②字符串连接: 先看个例子吧

 代码如下 复制代码
<?
$a = "PHP 4" ;
$b = "功能强大" ;
echo $a.$b;
?>

 

需要注意的是 在PHP 4.2.0 以及后续版本中,PHP 指令 register_globals 的默认值为 off。这是 PHP 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 DOCUMENT_ROOT 的值,将必须使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 来代替 $id 从 URL http://www.example.com/test.php?id=3 中获取 id 值,亦或使用 $_ENV['HOME'] 来代替 $HOME 获取环境变量 HOME 的值

我们看到代码的第三行,英文的(句)号,它可以将字符串连接起来,变成合并的新字符串。

 

超全局变量 描述
$GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键名为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER 变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET 经由 URL 请求提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。
$_POST 经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。
$_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。
$_FILES 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)
$_ENV 执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。
$_REQUEST  经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。此数组在 PHP 4.1.0 之前没有直接对应的版本。参见 import_request_variables()
$_SESSION 当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)
 

常量:

常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。通常常量标识符总是大写的。

常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表达式是这样表达的:[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*

 

①是在程序执行期间无法改变的数据,常量的作用域是全局的。

②常量的命名与与变量相似,只是不带美元符号“$”。一个有效的常量名由字母或者下划线开头,后面跟报上任意数量的字母、数字或者下划线。

③一般在PHP中常量都为大写字母而且又分为系统常量和自定义常量。

 

系统常量我们就大概说了 ,这个在后面的知识会介绍到。

1、__FILE__    默认常量,是指PHP程序文件名及路径;
2、__LINE__    默认常量,是指PHP程序的行数;
3、__CLASS__    类的名称;

自定义常量:通过define()函数来定义一个常量的,

其语法格式为:bool define ( string $name, mixed $value [, bool case_$insensitive] )

name:指定常量的名称。
value:指定常量的值。
insensitive:指定常量名称是否区分大小写。如果设置为true则不区分大小写;如果设置为false则区分大小写。如果没有设置该参数,则取默认值false。

<?php

// 合法的常量名
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// 非法的常量名
define("2FOO",    "something");

// 下面的定义是合法的,但应该避免这样做:(自定义常量不要以__开头)
// 也许将来有一天PHP会定义一个__FOO__的魔术常量
// 这样就会与你的代码相冲突
define("__FOO__", "something");

?>

几个 PHP 的“魔术常量”
名称 说明
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(大小写敏感)。这个常量是在编译时定义的(PHP 5.3.0 新增)

本文章详细的介绍了在php学习中的最基础的内容包括了基本数据类型、变量类型、操作符等入门都会要接触到的东西。

php支持的基本数据类型:
Integer:整数
Float(Double,双精度值):浮点数,表示所有实数
String:字符串
Boolean:布尔值,true/false
Array:保存具有相同类型的多个数据项
Object:对象,保存类的实例
NULL:没有被赋值、已经被重置或被赋值为特殊值NULL的变量
特定的内置函数(例如数据库函数)将返回resource类型的变量

四种标量类型:

string(字符串)
integer(整型)
float(浮点型,也作 double )
boolean(布尔型)
两种复合类型:

array(数组)
object(对象)
两种特殊类型:

resource(资源)
NULL(空)
查看变量类型
通过 gettype() 函数可以方便的查看某个变量的类型:

 代码如下 复制代码

<?php
$var_bool = TRUE;     // a boolean
$var_str  = "foo";     // a string
$var_int  = 12;      // an integer

echo gettype($var_bool);    // 输出 boolean
echo gettype($var_str);     // 输出 string
echo gettype($var_int);     // 输出 integer
?>

提示
由于历史原因,如果是 float 类型数据,gettype() 函数返回的是 double,而不是 float 。
如果想查看某个表达式的值和类型,请使用用 var_dump() 函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用 gettype() ,而使用 is_type 系列函数:

 代码如下 复制代码

<?php
$var_int  = 12;

// 如果 $var_int 是 int 类型,这进行加法
if (is_int($var_int)) {
    $var_int = $var_int+4;
}
echo $var_int;  // 输出 16
?>


NULL和resource都代表外部资源,例如数据库连接
基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须作为参数传递给其他函数。

在php中,变量的类型是由赋给变量的值确定的。(动态类型语言)
PHP可以在任何时间根据保存在变量中的值来确定变量的类型,也就是具有在任何时间透明地改变变量类型的功能。
PHP将“自动地”获得输入的数据类型,一旦从变量中检索变量值,它将返回具有相同数据类型的数据。
养成习惯:常量名称都是由大写字母组成的。这样容易区分变量和常量。
常量和变量之间的一个重要不同点在于引用一个常量的时候,它前面并没有$符号。
常量和变量的另一个差异在于常量只可以保存布尔值、整数、浮点数或字符串数据,这些类型都是标量数据。

变量类型变化(juggling)
PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。 一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。 否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。 $foo  =  "0";  //  $foo  是一个字符串  ,值是“0”(ASCII  48)

PHP代码

 代码如下 复制代码
$foo  =  "0";  //  $foo  是一个字符串  ,值是“0”(ASCII  48)     
$foo++;  //  $foo  是一个字符串,值是“1”(ASCII  49)     
$foo  +=  1;  //  $foo  现在是一个整数(2)了     
$foo  =  $foo  +  1.3;  //  $foo  现在是一个双精度数(3.3)了     
$foo  =  5  +  "10  Little  Piggies";  //  $foo  是一个整数  (15)     
$foo  =  5  +  "10  Small  Pigs";  //  $foo  是一个整数  (15)  


如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。 如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。
 确定一个变量的类型
因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().
类型强制(type casting)
在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。
 

PHP代码

 代码如下 复制代码
$foo  =  10;  //  $foo  是一个整数    
$bar  =  (double)  $foo;  //  $bar  是一个双精度数   


以下的强制方式是允许的: (int), (integer) – 强制成整数 (real), (double), (float) – 强制成双精度数 (string) – 强制成字符串 (array) – 强制成数组 (object) – 强制成对象 注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的: $foo = (int) $bar; $foo = ( int ) $bar;
字符串转化
当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。 如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。 这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有 效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。
 

PHP代码

 代码如下 复制代码
$foo  =  1  +  "10.5";  //  $foo  是双精度数  (11.5)     
$foo  =  1  +  "-1.3e3";  //  $foo  是双精度数(-1299)     
$foo  =  1  +  "bob-1.3e3";  //  $foo  是整数  (1)     
$foo  =  1  +  "bob3";  //  $foo  是整数  (1)     
$foo  =  1  +  "10  Small  Pigs";  //  $foo  是整数  (11)   
$foo  =  1  +  "10  Little  Piggies";  //  $foo  是整数  (11);     
//  这个字符串包括字符'e'  


标识符


操作符:
1)赋值操作符:=

2)算术操作符:+,-,*,/,%(取模)

3)连接操作符:. ,无论操作数是什么,都当成String,结果返回String

4)合计赋值操作符(Combined Assignment Operators):+=,*=,/=,-=,%=,.=

5)自动增减操作符(Automatically Incrementing and Decrementing):

(1)$variable+=1 ⇔$variable++;$variable-=1 ⇔$variable-,跟c语言一样,先做其他操作,后++或-

(2)++$variable,-$variable,先++或-,再做其他操作

6)比较操作符:

= =(左边等于右边),!=(左边不等于右边),
= = =(左边等于右边,且数据类型相同),
>=,>,<,<=

7)逻辑操作符:|| or,&& and,xor(当左右两边有且只有一个是true,返回true),!

一个参考表

运算符(Arithmetic Operators)

Operator
符号
Description
描述
Example
案例
Result
结果
+ Addition
加号
x=2
x+2
4
- Subtraction
减号
x=2
5-x
3
* Multiplication
乘号
x=4
x*5
20
/ Division
除号
15/5
5/2
3
2.5
% Modulus (division remainder)
求模(余数)
5%2
10%8
10%2
1
2
0
++ Increment
自加
x=5
x++
x=6
-- Decrement
自减
x=5
x--
x=4

Assignment Operators
分配符(Assignment Operators)

Operator
符号
Example
案例
Is The Same As
等同于
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y

Comparison Operators
比较符(Comparison Operators)

Operator
符号
Description
具体描述
Example
案例
== is equal to
等于
5==8 返回 false
!= is not equal
不等于
5!=8 返回  true
> is greater than
大于
5>8 返回  false
< is less than
小于
5<8 返回  true
>= is greater than or equal to
大于等于
5>=8 返回  false
<= is less than or equal to
小于等于
5<=8 返回  true

Logical Operators
逻辑判断符(Logical Operators)

Operator
符号
Description
描述
Example
案例
&& and
x=6
y=3

(x < 10 && y > 1) 返回 true

|| or
x=6
y=3

(x==5 || y==5) 返回 false

! not
x=6
y=3

!(x==y)返回true

其他操作符:

三元操作符、错误抑制操作符、执行操作符、数组操作符、类型操作符

运算符"?"前的表达式

如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号。例如:
(x >= 0) ? x : -x;

下面我们来看一个简单的?号表达式实例

 代码如下 复制代码

<?

$a=1;

echo $a?'true':'false';

输出结果为 trur;

再看

if( $a )

{

   echo 'true';

}

else

{

   echo 'false';

}

本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists 检查文件或目录是否存在 file_put_contents 写入文件 fwrite 写入文件

用 PHP 内置函数 file_exists 可以检查某个文件或目录是否存在。如果文件或目录存在,file_exists 函数返回 TRUE,如果不存在,则返回 FALSE。

下面是一个简单的检查文件是否存在的实例代码:

 代码如下 复制代码
<html><body><?php
$filename = "C:\blabla\php\hello.txt";
if (file_exists($filename)) 
{echo "The file $filename exists.";
}else  {
echo "The file $filename does not exist."
;}?>
</body>
</html>

如果文件存在,执行该 PHP 文件的显示结果是:

The file C:blablaphphello.txt exists.
如果文件不存在,执行该 PHP 文件的显示结果是:

The file C:blablaphphello.txt does not exist.
你也可以用file_exists 函数测试某个目录是否存在,示例代码如下:

 代码如下 复制代码

if (file_exists("C:\blabla\php"))
  {echo "yes";}
else
  {echo "no";}


用 PHP 内置函数 file_get_contents 可以读取整个文件内容。

file_get_contents 函数读取整个文件,返回一个字符串。file_get_contents 最简单的写法如下:

file_get_contents(filepath)
举个例子,你有一个 .txt 文件,文件的路径为:

C:blablaphphello.txt
下面的 php 代码用 file_get_contents 函数读取该文件,并输出该文件内容:

 代码如下 复制代码
<html>
<body>
<?php
$f = file_get_contents("C:\blabla\php\hello.txt");
echo $f;?>
</body>
</html>

注意:由于文件路径含有反斜杠,而在 PHP 字符串里,反斜杠需要转义,要用两个反斜杠表示。(如果你忘记了 PHP 某些特殊字符的转义,请翻阅前面所讲的 PHP 字符串。)

file_get_contents 函数的返回值是所读取的文件内容字符串,如果出错,返回 FALSE。


使用 PHP 内置函数 fopen,可以打开一个文件。

打开文件
fopen 最简单语法如下:

fopen(filepath,mode)
下面是打开一个文件的 PHP 代码示例:

 代码如下 复制代码
<?php
$f = fopen("c:\data\info.txt", "r");
?>

其中,c:\data\info.txt 是文件路径,r 表示打开文件的模式(mode) 为只读 (read only) 模式。

fopen 函数打开文件的模式有以下几种:

模式 (mode) 说明
r 只读,文件指针在文件开始处。
r+ 读和写,文件指针在文件开始处。
w 只写,文件指针在文件开始处,将文件长度截成0。

如果文件不存在,创建文件。
 
w+ 读和写,文件指针在文件开始处,将文件长度截成0。

如果文件不存在,创建文件。
 
a 只写,文件指针在文件末尾处。

如果文件不存在,创建文件。
 
a+ 读和写,文件指针在文件末尾处。

如果文件不存在,创建文件。
 
x 只写,文件指针在文件开始处。

如果文件已经存在,fopen () 函数返回 FALSE 并产生一个E_WARNING 级别的错误。

如果文件不存在,创建文件。
 
x+ 读和写,文件指针在文件开始处。

如果文件已经存在,fopen () 函数返回 FALSE 并产生一个E_WARNING 级别的错误。

如果文件不存在,创建文件。
 

如果成功打开文件,fopen 函数的返回值是一个文件指针资源 (a file pointer resource),如果出错,返回 FALSE。

创建文件
选择 fopen 函数参数 mode 的适当的值 ,你可以用 fopen 创建一个文件,比如:

 代码如下 复制代码

<?php
$f = fopen("c:\data\101.txt", "w");
$f = fopen("c:\data\102.txt", "w+");
$f = fopen("c:\data\103.txt", "a");
$f = fopen("c:\data\104.txt", "a+");
$f = fopen("c:\data\105.txt", "x");
$f = fopen("c:\data\106.txt", "x+");
?>

用 PHP 内置函数 fgets 可以读取文件的一行内容。

fgets读取文件一行内容的语法是:

fgets(filepointer)
下面我们举个例子讲述如何一行行读取一个文件。

假设我们有一个 sites.txt 文件,该文件有三行,内容如下:

woyouxian.comblabla.cngoogle.com
sites.txt 的文件路径是:

C:blablaphpsites.txt
我们用 PHP 一行行读取文件内容,PHP代码如下:

 代码如下 复制代码
<html>
<body>
<?php
$f= fopen("C:\blabla\php\sites.txt","r");
while (!feof($f)){ 
$line = fgets($f); 
echo "site: ",$line,"<br />";
}
fclose($f);?>
</body>
</html>

执行该 PHP 文件,返回的显示结果是:

site: woyouxian.comsite: blabla.cnsite: google.com
该 PHP 代码的第一行是打开文件,最后一行是关闭一个文件。当中的 while 循环语句表示,当文件没有结束,就读取一行,循环执行,直到文件指针到文章末尾为止。

feof 函数是PHP 的一个内置函数,用来测试文件指针是否已经到了文件末尾。如果是返回 TRUE,如果不是,返回 FALSE。eof 的英文意思就是 end of file,很容易记。

正常情况下,fgets 函数的返回值是一个字符串,如果出错,返回 FALSE。


讲述使用 PHP 内置函数 fclose 关闭一个文件。

fclose 函数语法如下:

fclose(filepointer)
如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE。

下面是一个 fclose 函数的 PHP 代码示例:

 代码如下 复制代码

<?php
$f = fopen("c:\data\info.txt", "r");
fclose($f);
?>


这一章节我们讲述如何用 fopen, fwrite, fclose 来实现打开文件、写入文件和保存关闭文件的这一系列的操作。重点讲述 fwrite 函数。

PHP 内置函数 fwrite 用于写入文件。

fwrite 函数的常用语法为:

fwrite(handle,string)
其中,参数 handle 表示文件指针资源 (通常由 fopen 函数创建),string 表示要写入的内容。

下面一个PHP 代码示例演示如何创建一个新文件,并写入内容,然后保存并关闭文件:

 代码如下 复制代码
<html><body><?php
$f= fopen("C:\blabla\php\write.txt","w");
fwrite($f,"It is awesome.");fclose($f);echo "done";
?>
</body>
</html>

执行该 PHP 文件后,会创建一个路径为 C:blablaphpwrite.txt 的文件,文件的内容是It is awesome.。

如果你想在现有文件上再追加内容,你只要修改 fopen 的 参数 mode 值即可,如下:

$f= fopen("C:\blabla\php\write.txt","a");
有关 fopen 函数的参数 mode 值,详见 fopen。

fwrite 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE。

 

PHP 内置函数 file_put_contents 用于写入文件。

file_put_contents 函数最简单的写法,可以只用两个参数,一个是文件路径,一个是要写入的内容,语法如下:

file_put_contents(filepath,data)
如果文件不存在,file_put_contents 函数会自动创建文件;如果文件已存在,原有文件被重写。

你可以利用 file_put_contents 函数创建并写入一个新文件,或者重写一个原有文件。

下面是一个使用 file_put_contents 函数的 PHP 代码示例:

 代码如下 复制代码
<html><body>
<?php$path ="C:\blabla\filesys\one.txt";
$content = "one for all";
file_put_contents($path,$content);
if (file_exists($path))
 {echo "ok";}else  {echo "ng";}
?></body></html>

该 PHP 代码示例会创建一个路径为 C:blablafilesysone.txt 的文件,该文件的内容是 one for all 。

如果你想在一个已有文件上追加内容,你也可以使用file_put_contents 函数,只需要加一个参数即可。

file_put_contents(filepath,data,flags)
当 flags 的值为 FILE_APPEND 时,表示在已有文件上追加内容。

比如我们要在上面示例的C:blablafilesysone.txt 文件上追加内容,我们可以这样写:

 代码如下 复制代码
<html><body><?php
$path ="C:\blabla\filesys\one.txt";
$content = " all for one";
file_put_contents($path,$content,FILE_APPEND);
if (file_exists($path)) 
{echo "ok";}else  {echo "ng";}
?></body>
</html>

执行该 PHP 文件之后,我们再看 C:blablafilesysone.txt 文件,发现文件内容增加了,变成了:

one for all all for one
file_put_contents 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE。

今天吃了没事干来讲述了一N多年前自己学习php是学习get全局变量的用法了,有需要的入门的朋友可以参考一下。

一,$_GET是获取表method为get形式的数据
二,$_GET获取url.php?i=12 的数据,
上面是我们常用的利用get来获取值的数据,

实例一,取得form的数据

 代码如下 复制代码

<form action ="get.php" method ="get">
Name: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>

get.php

假如我填写的是 www.111cn.net

 代码如下 复制代码

You are <?php echo $_GET["username"]?>.


输出结果是

 代码如下 复制代码

You are www.111cn.net

那么我们的点击提交时url会是什么样式呢

 代码如下 复制代码

get.php?username=www.111cn.net

这样形式了,也就是我们说的第二种获取数据的方法,下面我们来看利用a带参考的

/a.php?value=my

a.php

 代码如下 复制代码

value的值是 <?php echo $_GET["value"]; ?>.<br />

输出结果是

 代码如下 复制代码

value的值是 my


这个看上去和form 的method=get没什么区别吧,哈哈,好了文章就到这里了。


get还有一种方法,那就是直接$_GET这样,会是什么形式呢,看实例。

 代码如下 复制代码

<form action = "checkbox.php" method = "get">
<input type="checkbox" name="fruit[ ]" value = "Apple">Apple</input><br />
<input type="checkbox" name="fruit[ ]" value = "Orange">Orange</input><br />
<input type="checkbox" name="fruit[ ]" value = "Mango">Mango</input><br />
<input type="submit" value="ok">


checkbox.php文件代码

 代码如下 复制代码

<?phpecho count($_GET["fruit"]),"<br />";
foreach ($_GET["fruit"] as $value)
{echo $value,"<br />";
}?>

输出结果是


如果你选择Orange和Mango


注明 $_GET不适合于大数据量的获取长度值是不能超过 100 个字符的。

原站原创教程转载须注明来源:http://www.111cn.net/phper/php.html

本文章介绍最基本的循环语句的用法,在php中包括了for()、while()、foreach() do while 这几种最基本的语句。

while循环
while循环是PHP中最简单的循环,其基本格式为:

 代码如下 复制代码
while (expr){
    statement
}
//或者
while (expr):
    statement
endwhile;

该语法表示,只要expr表达式为TRUE,那么就一直执行statement直到expr为FALSE为止,statement表示要执行的动作或逻辑。

例子:

 代码如下 复制代码
<?php
$i = 1;
while ($i <= 10) {
   echo $i;
   $i++;
}
?>

该例子循环输出1到10。

do-while循环
do-while循环和while循环非常相似,其区别只是在于do-while保证必须执行一次,而while在表达式不成立时则可能不做任何操作。

do-while 循环只有一种语法:

 代码如下 复制代码
do {
   statement
}while (expr)

例子:

 代码如下 复制代码
<?php
$i = 1;
do {
   echo $i;
   $i++;
} while ($i <= 10);
?>

该例子也是输出1到10

for循环
for循环是PHP中更为复杂的循环,其语法如下:

 代码如下 复制代码
for (expr1; expr2; expr3){
    statement
}

下面的例子依然输出1到10:

 代码如下 复制代码
<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
?>

语法解读
第一个表达式(expr1)在循环开始前无条件求值一次
expr2 在每次循环开始前求值,如果值为 TRUE,则继续循环,执行嵌套的循环语句;如果值为 FALSE,则终止循环。
expr3 在每次循环之后被求值(执行)
每个表达式都可以为空。如果expr2 为空意则将无限循环下去,但可以通过break来结束循环: <?php

 代码如下 复制代码
for ($i = 1; ; $i++) {
    if ($i > 10) {
        break;
    }
    echo $i;
}
?>

提示
在使用循环语句的时候,我们通常要注意不要无限循环而造成程序“僵死”,另外还要注意循环条件(循环判断表达式),以确保循环结果正确。

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • 解决vue的router组件component在import时不能使用变量问题

    这篇文章主要介绍了解决vue的router组件component在import时不能使用变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • Vue select 绑定动态变量的实例讲解

    这篇文章主要介绍了Vue select 绑定动态变量的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-23
  • 深入理解PHP变量的值类型和引用类型

    在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型,在使用的时候,需要注意这一点。看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式。PHP的变量在内存中是这样...2015-10-23
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • java中String类型变量的赋值问题介绍

    下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
  • 详解ES6实现类的私有变量的几种写法

    这篇文章主要介绍了详解ES6实现类的私有变量的几种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • C#不同类型的成员变量(字段)的默认值介绍

    虽然C#编译器为每个类型都设置了默认类型,但作为面向对象的设计原则,我们还是需要对变量进行正确的初始化。实际上这也是C#推荐的做法...2020-06-25
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • python 实现循环定义、赋值多个变量的操作

    这篇文章主要介绍了python 实现循环定义、赋值多个变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25