本文目录一览:
- 1、php函数指针问题
- 2、什么是PHP的文件指针?
- 3、php 中的mysql_fetch_array指针怎么用
- 4、php数组指针的问题,while each遍历
- 5、php中的指针是什么呢?如何理解?
php函数指针问题
移动文件指针,通常需要在文件中跳转、从不同位置读取以及写入不同位置。有一些PHP 函数可以完成这些任务。
1 .将文件指针移到偏移量指定的位置
fseek()函数将指针移到给定的偏移量所指定的位置。其形式为:
int fseek (resource handle , int offset [, int whence ] )
如果忽略可选参数whence ,则位置将设置为从文件开头的offset 字节处。否则,whence 可以设置为3 个可能的值,它将影响指针的位置。
•SEEK_CUR。设置指针位置为当前位置加上offset 个字节。
•SEEK_END。设置指针位置为EOF 加上。ffset 字节。在这里,。ffset 必须设置为负值。
•SEEK_SET。设置指针位置为offset 字节处。这与忽略whence 效果相同。
2.获取当前指针的偏移量
ftell()函数获取资源中文件指针当前位置的偏移量。其形式为:
int ftell ( resource handle )
3.将文件指针移回至文件开始处
rewind() 函数将文件指针移回至资源的开头。其形式为:
int rewind ( resource handle )
什么是PHP的文件指针?
顾名思义,指针。比如打开一个文件,我想从第几个字符开始读取,或者哪一行开始读取。就要用到指针,其实就是告诉php,从哪里开始。因为默认就是从头开始
?php
$file = fopen("test.txt","r");
// 读取第一行
fgets($file);
// 倒回文件的开头
fseek($file,0);
//
?
php 中的mysql_fetch_array指针怎么用
执行一次mysql_fetch_array,取出这一行的数据,将指针移到下一行;
所以再执行一次mysql_fetch_array,取出的就是第二行的数据。
php数组指针的问题,while each遍历
一开始没看出你的问题来,差点答错了。你的问题是出现在$value上,而不是数组的移动。
你foreach最后的$value 是$name['name4']的引用,while的循环中,不断变化着$name['name4']的值,你可以在while循环最后每次都打印完整数组看出效果。
关键点:变量引用在循环结束后没有删除,你在foreach后面加一句unset($value);就没问题了
---邪恶的分割线---
这里涉及到数组遍历时指针移动问题。
1、foreach循环的每次循环中,数组内部的指针向前移一步,直到越界退出
2、当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。
3、each()返回 array 数组中当前指针位置的键/值对并向前移动数组指针
4、如果内部指针越过了数组的末端,则 each() 返回 FALSE
你的例子,前面的foreach遍历会导致数组$name最终指针越界退出,然后,如果没有使用reset($name),则$name的指针是foreach执行后的位置,是越界的,直接使用each会返回false
php中的指针是什么呢?如何理解?
PHP里是没有指针的概念的,指针在C与C++里有,你上面的“-”是调用对象的属性或方法的一种表示方法,通常在Java里是点".",而在PHP里是用"-"用来指向对象的属性或方法