PHP4用户手册:变量-基础

 更新时间:2016年11月25日 15:19  点击:2251
DIV class=chapter>
目录列表
基础
固定变量
变量作用域
变量的变量
PHP外的变量
变量的描述:在PHP中是一个美元符后跟随变量的名字。变量名是大小写敏感的。
变量名的命名与PHP中其他标签的一致。一个有效变量名是以一个字线或下划线开始的,随后是一些字线,数字或下划线。当作正则表达式看待,它将是这样的:'[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*'
注意:一个字母是 a-z, A-Z, 和ASCII 字符127 through 255 (0x7f-0xff).
 
 
$var = "Bob";
$Var = "Joe";
echo "$var, $Var";      // 输出 "Bob, Joe"
$4site = 'not yet';     // 错误; 开始不能是数字
$_4site = 'not yet';      // 有效; 开始可以是下划线
$täyte = 'mansikka';      // 有效:'ä' 是ASCII 228.
 
在PHP 3中,变量通过是被赋值的。换句话说,当你分配一个表达式给一个变量时,原始表达式的值被复制到目的变量。
这意味着,分配一个变量的值到另外的变量,只改变那些变量的值不会影响其他的变量。更多的信息参见Expressions.
PHP 4提供另外的途径为变量分配值:引用分配。这意味着新的变量是简单的引用原始变量(这个新变量只是一个“化名”或“指向”)改变新变量会影响原始变量,反之亦然。这也意味着没有复制被执行:因此,分配速度更快。尽管如此,这样的加速只体现在复杂的循环或分配大的数组和对象时。
分配一个引用,只需被分配(源变量)的那个变量前加“&”号。如,下面的代码片段输出'My name is Bob'两次:
 
<?php
$foo = 'Bob';         // 分配值'Bob' 到 $foo
$bar = &$foo;         // 通过$bar引用$foo.
$bar = "My name is $bar";  // 改变 $bar...
echo $foo;            // $foo 也被改变.
echo $bar;
?>
 
一个重要的提示:只有一个被指定的变量可以被引用分配。
 
<?php
$foo = 25;
$bar = &$foo;      // 这是有效的分配.
$bar = &(24 * 7);  // 错误:引用了没有命名的表达式.
function test()
{
     return 25;
}
$bar = &test();      // 错误.
?>

DIV class=sect1>
for 循环是PHP中非常复杂的循环。它的行为象C语言中的一样。以下是循环的语法:
 
for (expr1; expr2; expr3) statement
 
第一个表达式(expr1)是循环无条件开始的值。
在每次反复开始,表达式expr2 被计算。如果值为TRUE,则继续循环,执行嵌套的语句。如果值为FALSE,执行循环以后的
在每次反复,表达式expr3 被计算(执行)。
每个表达式都可以为空。expr2 为空则意味着循环将不确定的运行(PHP 隐暗认为它为真,象C语言一样)。
 这不可能想你想的那样结束,你可以使用break语句去代替for事实表达式去结束循环。
考虑以下的例子。它们将显示1至10的数字:
 
/* 例 1 */
for ($i = 1; $i <= 10; $i++) {
      print $i;
}
/* 例 2 */
for ($i = 1;;$i++) {
      if ($i > 10) {
     break;
      }
      print $i;
}
/* 例 3 */
$i = 1;
for (;;) {
      if ($i > 10) {
     break;
      }
      print $i;
      $i++;
}
/* 例 4 */
for ($i = 1; $i <= 10; print $i, $i++);
 
当然,从第一个例子看出是简略的(或是第四个),但是你可以发现有很多的机会你可以使用空表达式。
PHP 仍然支持循环的“冒号语法”。
 
for (expr1; expr2; expr3): statement; ...; endfor;
 
另我的语言有一个 foreach 语句去操作数组或散列。PHP 3 中没有这样的构造;PHP 4 有(参见 foreach)。在PHP 3中,人可以用while、list() 和each() 函数去完成相同的功能。参见这些函数的文档。

TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width="100%">
 
(PHP 3, PHP 4 >= 4.0.0)
count -- 计算变量中元素的个数
描述
 
int count (mixed var)
 
返回一个变量var元素的个数 , 最有代表性的是数组 (其他类型只有一个元素)。
如果这个变量var 不是一个数组,将返回1 (除外:count(NULL) 相当于 0).
 
警告
count() 可能为一个没有设置的变理返回0,但是它也可以为已初始化的空数组返回0。如果要检查一个变量是否设置请使用isset() 函数。
 
关于数组的实现和在PHP在数组的使用请参见手册中数组一节。
例1. count()例
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count ($a);
// $result == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count ($b);
// $result == 3;
 
注意: sizeof() 函数是count()一个别名
参见:sizeof(), isset(), 和 is_array()。
 

DIV class=reference>
XI. CURL, 客户 URL 库函数
PHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。, libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传(当然你也可以使用PHP的ftp扩展), HTTP基本表单上传,代理,cookies,和用户认证。
为了使用CURL函数你需要安装CURL包。PHP 需要你使用CURL 7.0.2-beta或更高版。如果CURL的版本低于7.0.2-beta,PHP将不工作。
要使用PHP的CURL支持,你必须用带有--with-curl[=DIR]参数重新编译PHP(DIR是包含库和头文件的目录)。
这些函数是在PHP 4.0.2中新增得。
一旦你编译了带有CURL支持的PHP,你可以使用curl函数。基本思路是:你使用curl_init()函数初始化CURL会话,而后你可以设置你的所有选项,通过curl_exec()函数执行,最后你可以作用curl_close()函数来结束你的会话。以下是一个例子:是把PHP的主页取回放到一个文件中。
例 1. 使用PHP的CURL模块取回PHP主页
<?php
$ch = curl_init ("http://www.php.net/");
$fp = fopen ("php_homepage.txt", "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
?>
 
目录列表
curl_init — 初始化一个CURL会话
curl_setopt — 为CURL调用设置一个选项
curl_exec — 执行一个CURL会话
curl_close — 关闭一个CURL会话
curl_version — 返回当前CURL版本

早上:
6点30分 被对面工地施工的声音吵醒,看表,再睡;
6点50分 再醒来,再看表,再睡;
早上7点 闹钟闹铃并报时。没睡醒,再睡5分钟……
7点15分 再醒。翻了个边,唉,起来吧……。
7点20分 终于起床了。一边叫对面床上的老虎:“起来起来,都7点20了!”
    “什么?7点20了?#@$%*……”
7点25分 洗漱完毕,冲进洗澡间痛快地淋了个冷水浴。清醒了许多。
7点30分 跑到楼下吃早餐。风卷残云。
7点35分 班车开始出发了。听着电台的《早安,北京》,同事们说说笑笑。
    有的看报纸,有的吃早餐,有的睡觉。
    我坐在最前面,拿出文曲星,装模作样记几个单词。
上午:
8点20分 班车到单位楼下。等电梯。进公司,刷卡。
    对公司前台的小女孩笑笑,说声早。
8点25分 拿大茶缸打一满杯水。
    打开显示器,检查昨晚离开时运行的测试程序是不是正常,分析测试结果。
8点30分 关闭实验程序。上网。
    开N个窗口同时查看邮件、查看主页留言板、查看主页计数器、
    查看主页来访者的IP地址、看新浪的新闻、回邮件、回信……
    所有事务在15分钟内搞定。
8点45分 关闭浏览器。打开超级解霸,选择《回家》、《茉莉花》、《奇迹》
    等几首萨克斯,选择循环播放。戴上耳机。开始写程序。
写程序当中:
  a. 起身打水N次;
  b. 程序调试中让Windows彻底死机N*N次,按机器上的RESET、POWER都N次,无效后
    拔掉电源插头再插上重启N次;
  c. 用憋脚的普通话给旁边的新手讲解技术问题若干次;
  d. 和老乡用长沙方言(被北京同事称为鸟语)叽叽咕咕讨论技术问题若干次;
11点正  肚子开始造反。冲牛奶喝。
11点45分 到楼下员工餐厅就餐。餐厅里漂亮的MM很多。
     可惜饭菜的可口度和MM的漂亮度一点也不成正比,难吃死了。
12点正  回公司。上网。重复8:30的动作:
     开N个窗口同时查看邮件、查看主页留言板……
12点40分 午休
下午:
1点30   醒来。洗把脸。写程序。重复8:45的动作……
5点30分  下班。同事们坐班车开始走了。
晚上:
6点50分 打开程序让它自动测试。关闭显示器。和老虎下去吃饭。
7点   找了一家没有去吃过的餐馆。点一荤一素一汤。
     如同所有吃过的北京餐馆一样:上菜不仅奇慢无比,而且比较难吃。
[!--infotagslink--]

相关文章

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

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • R语言 如何删除指定变量或对象

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

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • 解决vue的router组件component在import时不能使用变量问题

    这篇文章主要介绍了解决vue的router组件component在import时不能使用变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • Vue select 绑定动态变量的实例讲解

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

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

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • java中String类型变量的赋值问题介绍

    下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
  • php有效防止同一用户多次登录

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
  • php ajax注册验证用户名是否存在代码

    这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
  • js检测用户输入密码强度

    一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
  • C#不同类型的成员变量(字段)的默认值介绍

    虽然C#编译器为每个类型都设置了默认类型,但作为面向对象的设计原则,我们还是需要对变量进行正确的初始化。实际上这也是C#推荐的做法...2020-06-25
  • python 实现循环定义、赋值多个变量的操作

    这篇文章主要介绍了python 实现循环定义、赋值多个变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 详解ES6实现类的私有变量的几种写法

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

    这篇文章主要介绍了C++变量,常量,数组和字符串,是C++入门学习中的基础知识,需要的朋友可以参考下,希望能够给你带来帮助...2021-10-21
  • 在JS中如何使用css变量详解

    这篇文章主要给大家介绍了关于如何在JS中如何使用css变量以及export之javascript关键字的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2021-09-02
  • PHP安装threads多线程扩展基础教程

    一、下载pthreads扩展下载地址:http://windows.php.net/downloads/pecl/releases/pthreads二、判断PHP是ts还是nts版通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说...2015-11-24
  • Nest.js环境变量配置与序列化详解

    这篇文章主要给大家介绍了关于Nest.js环境变量配置与序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-21