很多站长朋友们都不太清楚php本地文本数组,今天小编就来给大家整理php本地文本数组,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP 文件数组问题 2、 PHP将文本文件使用file方法读入数组后,如何修改特定文字开头的行为新的内容。 3、 php怎么取出文本数组中的数组 4、 php如何将文本域的内容拆分为数组,逐行写入数据库 5、 PHP数组和文本数据配合使用 6、 php读取txt内容数组 PHP 文件数组问题举个例子给你看你就明白了:
1.将数组写到tmp.php里面:
<?php
$a = array (1, 2, array ("a", "b", "c"));
$handle = fopen("./tmp.php", "w+");
fwrite($handle, '<?php'.chr(10).'$a='.var_export ($a,true).';'.chr(10).'?>');
?>
2.在要用到$a数组的页面里面包含tmp.php后,$a就可以直接用了。
<?php
require_once("./tmp.php");
print_r($a);
?>
PHP将文本文件使用file方法读入数组后,如何修改特定文字开头的行为新的内容。文本文件的维护是PHP中很常见的需求,但是因为你的关键字包含斜杠,因此需要进行转义处理,否则无法正常匹配。
在找到匹配的行后,你可以使用unset方法删除行,然后在数组的末尾追加新行,但是考虑到用户行为,即一般用户总是期待在修改的位置查看修改是否生效,因此最好的办法是直接替换行。
以下的代码模拟了你的应用,其中foreach($array as $row)是指将行作为引用传递,这样对该行的修改就能体现到$array数组中了,这是很实用的一个小技巧。
$str = str_replace('/', "\\/", '/share'); //查询目标
$new = '/newShare data'; //修改后的数据
$array = array(
'/share somecontent',
'/other others',
); //这个数组模拟了你从文本文件中得到的值
foreach($array as $row) {
if(preg_match("/^{$str}\b/", $row)) {
$row = "{$new}";
break;
}
}
print_r($array);
怎么样,是不是已经改变了:)
php怎么取出文本数组中的数组如果返回的数据被解析成对象,则这样获取:
$result->data->refreshToken
如果是解析成关联数组,则这样:
$result["data"]["refreshToken"]
具体如何要看过你的代码才知道
php如何将文本域的内容拆分为数组,逐行写入数据库PHP 中的fgets() 函数可以实现
fgets() 函数从文件指针中读取一行。
fgets(file,length)
参数说明
file 必需。规定要读取的文件。
length 可选。规定要读取的字节数。默认是 1024 字节。
详细说明
从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。
注释:length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。
从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。
例如:
test.txt 文本内容如下:
Hello, this is a test file.
There are three lines here.
This is the last line.
<?php
//读取一行
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
输出:
Hello, this is a test file.
<?php
//循环读取每一行
$file = fopen("test.txt","r");
while(! feof($file)) {
echo $str = fgets($file). "<br />";
//这里可以逐行的写入数据库中
//mysql_query("insert into table(id,contents) values(NULL,'".$str."')");
}
fclose($file);
?>
输出:
Hello, this is a test file.
There are three lines here.
This is the last line.
PHP数组和文本数据配合使用呵呵 我这个完全符题,就是有点乱,验证通过(数组数可随意添加)
<?
//include("array.php"); 如将数组存在array.php内,下面就不要添加数组了
$t_1 = array('1','标题一');
$t_2 = array('2','标题二');
$t_3 = array('3','标题三');
$t_4 = array('4','标题四');
$t_5 = array('5','标题五');
echo "<table>";
for($i=1;;$i++){if(!isset(${"t_".$i})) break;}
$num=$i-1; //获得数组数
if($num%2==0){ //判断数组数为双数
$num=$num/2; //$num重赋为将要显示的行数
for($i=1;$i<=$num;$i++){ //循环输出
echo "<tr>";
echo "<td>".${'t_'.($i*2-1)}[1]."</td><td>".${'t_'.($i*2)}[1]."</td>";
echo "</tr>";
}
}
else{ //数组数为奇数
$num=($num-1)/2; //获得显示总行数减1
for($i=1;$i<=$num;$i++){
echo "<tr>";
echo "<td>".${'t_'.($i*2-1)}[1]."</td><td>".${'t_'.($i*2)}[1]."</td>";
echo "</tr>";
}
//最后一行特殊输出
echo "<tr>";
echo "<td>".${'t_'.($num*2+1)}[1]."</td><td></td>";
echo "</tr>";
}
echo "</table>";
?>
php读取txt内容数组想要把一批文件读入内存对服务器可能负担太重,内存占用太多,甚至会造成内存不足、操作系统自动使用硬盘来扩充虚拟内存,而对硬盘虚拟出来的内存的操作会比实际内存的操作慢1000倍以上,因为硬盘读写是机械运动的速度,内存读写是电的速度、光的速度,不如用循环内一次只读入一个文件来处理。一次只读入一个文件时你可以用“ $lines = file('被读的文件名'); ”函数把一个文件读成内存中的一个数组 $lines,其中的每一个元素对应于文件的一行。有了数组 $lines 以后你再逐行循环,用“ $elements=explode( '\t', $lines ); ”函数把 已经体现为一个字符串的 $lines 中的每一行 剖分成一个数组 $elements ,其中,'\t' 是假定你的 txt 文件行内各个数据是用 '\t' (Tab键)隔开的,如果你用其它形式的分隔符(如:空格、逗号、斜杠等)就将该分隔符 代替 '\t' 内的 \t 。
通过这两重的循环,你可以访问到你需要访问的那个数据,服务器的压力也不会太大。
关于php本地文本数组的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php本地文本数组 php写本地文件的详细内容...