PHP4用户手册:函数-file

 更新时间:2016年11月25日 15:19  点击:1600
TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width="100%">
 
(PHP 3, PHP 4 >= 4.0.0)
file -- 读取整个文件到数组
描述
 
array file (string filename [, int use_include_path])
 
除了file()返回的是数组,其它的与readfile()一样。数组的每个元素对应文件的每一行,而带有换行符。
注意:在结果数组中的每行包含着行结尾,如果你不想要行结尾你可使用trim() 函数去掉它。
如果你想在包含路径中搜索文件,你可以使用可选的第二个参数并把它设置为"1"。
 
 
<?php
// 获得一个网页的数组并打印它
$fcontents = file ('http://www.php.net/');
while (list ($line_num, $line) = each ($fcontents)) {
      echo "<b>Line $line_num:</b>; ", htmlspecialchars ($line), "<br> ";
}
// 获得一个网页到字符串中
$fcontents = join (', file ('http://www.php.net/'));
?>
 
 
警告
这个函数不能用于二进制!
 
提示:如果"fopen wrappers"配置已经打开,你可以在这个函数中使用 URL 作为文件名。
参见readfile(), fopen(), fsockopen(), 和 popen().
 

TABLE border=0 cellPadding=0 cellSpacing=0 height="100%" width="100%">
require()
require() 语句用它指定的文件代替它自己,这很像C中的预处理#include 的功能。
如果在PHP中"URL fopen wrappers"项是打开的(这是默认的配置),你可以在require()中使用URL代替本地路径。更多的信息参见Remote files和fopen()。
一个重要的提示是:当一个文件被include()或require()时,是怎样工作的,从目标文件开始分析PHP模块和HTML模块的点滴,在结束时重新摘要PHP模块。
前提是,有一些被有效地PHP开始和结束标签包含着的可执行的PHP代码在文件中。
require() 实际上不是一个PHP函数:正确的说,它是一个语言的构成部分。它的规则与函数有一些不同。如,require() 不会受包含控制结构的控制。另外,它不会返回任何值;尝试从require()调用中读取一个返回值的结果是解析错误。
不同的是include(), require() 将总是读目标文件,即使它没有可执行的行。如果你想有条件的包含一个文件,请使用include()。条件语句不会影响require()。
 可是,if the line on which the require() occurs is not executed, neither will any of the code in the target file be executed.
类似的,循环控制也不会影响require()的行为。
 尽管包含文件仍然受循环的控制,但是require() 只执行一次。
这意味着,你不能把require() 语句放在一个循环语句中,期待着它能在每一次循环中包含不同的文件。要这样做,请使用include() 语句。
 
require ('header.inc');
 
当一个文件被require()包含时, 包含着的代码将继承发生require() 那行的变量作用域。在调用文件行的任何可用变量在被调用文件中都将可用。如果require() 发生在正在调用文件中的函数里,这时被调用文件中的全部代码就好像已经被定义在了函数中一样。
如果require()包含的文件是经过HTTP使用fopen打开的,如果目标服务器能作为PHP代码解析目标文件,变量可以使用带有URL的有HTTP GET请求字符串的require()传递。严格的说require()一个文件和继承它的父文件的变量作用域是不同的:这个脚本实际上是运行在远程服务器上,在本地脚本中包含的是它的结果。
 
/* 这人例子假设someserver已经配置了.php的解析而不是.txt文件。
 * 同样,'works' 意味着被包含文件中的变量$varone 和$vartwo 是可用的*/
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() 函数去完成相同的功能。参见这些函数的文档。

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();      // 错误.
?>

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()。
 

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • 详解Maven profile配置管理及激活profile的几种方式

    这篇文章主要介绍了详解Maven profile配置管理及激活profile的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • js检测用户输入密码强度

    一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
  • php有效防止同一用户多次登录

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

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • uni-app使用微信小程序云函数的步骤示例

    这篇文章主要介绍了uni-app使用微信小程序云函数的步骤示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-22