草庐IT

空指针

全部标签

php - 将文件指针向上移动一行(php)?

我正尝试在我的网站上自动执行sitemap.xml文件,因为内容不断变化。我目前打开要附加的文件:fopen($file_name,'a');这样我就可以添加新的标签集。但是,我只是注意到整个站点地图文件必须以标记结尾,这意味着每次打开文件时,我都需要将文本附加到文件末尾,而不是文件末尾。所以基本上,我怎样才能在打开文件进行追加后将文件指针向上移动,这样我才能实现这一点?谢谢。更新:这是站点地图的样子:...2009-08-23weekly0.8所以每当我追加时,我都需要添加..必须在收盘前进行的部分标签。我已经有了可以将xml附加到文件末尾的代码。我只需要弄清楚如何在结束标记之前附加

php - 在 PHP 中,在使用 fopen() 将文件指针资源分配给变量后,如何从变量中获取文件名?

例如:$file=fopen("File.txt","r");$filename=$file->basename;如果文件对象(文件指针资源)有类似basename的方法。 最佳答案 没有,没有。对了,什么场景下需要这个东西? 关于php-在PHP中,在使用fopen()将文件指针资源分配给变量后,如何从变量中获取文件名?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/36216

PHP - fgetcsv() 重置指针

如何使用fgetcsv()重置文件指针?我有下面的循环,嵌套在另一个while循环中。但是,它从断点开始读取CSV,而不是在第一次运行后开始读取。while($line2=fgetcsv($fp2,$length2,$fildDelineate2)){if($line[0]==$line2[0]){$desc=addslashes(strip_tags($line2[6]));$import2="insertinto$table2values('$id','1',\"$line[1]\",'$desc','','0')";mysql_query($import2)ordie('impo

php - 你如何确定一个变量是否包含 PHP 中的文件指针?

正如问题所述:如何检查PHP中的变量是否包含文件指针?有些像is_string()或is_object()。 最佳答案 您可以使用get_resource_type()-http://us3.php.net/manual/en/function.get-resource-type.php.如果它根本不是资源,该函数将返回FALSE。$fp=fopen("foo","w");...if(get_resource_type($fp)=='file'||get_resource_type($fp)=='stream'){//dowhaty

php - 是否可以在 PHP 中使用指针?

所以我明白引用不是指针:http://php.net/manual/en/language.references.arent.php问题是,是否可以在php中使用指针?鉴于以下示例,我猜这就是我们在处理对象时所做的事情:classEntity{public$attr;}classFilter{publicfunctionfilter(Entity$entity){$entity->attr=trim($entity->attr);}}$entity=newEntity;$entity->attr='foo';$filter=newFilter;$filter->filter($enti

PHP 行为和数组指针

我在阅读PHP手册(特别是each()函数)时遇到了以下警告:CautionBecauseassigninganarraytoanothervariableresetstheoriginalarray'spointer,ourexampleabovewouldcauseanendlessloophadweassigned$fruittoanothervariableinsidetheloop.还有一个例子:'apple','b'=>'banana','c'=>'cranberry');reset($fruit);while(list($key,$val)=each($fruit)){e

PHP 指针与引用

在PHP中,使用指针有什么区别,例如:functionfoo($var){$var=3;}$a=0;foo(&$a);和引用:functionfoo(&$var){$var=3;}$a=0;foo($a);它们都修改了原始变量的值,但它们在内部表示不同吗? 最佳答案 在PHP中,没有指针,只有引用。你的例子展示了passbyreference您的代码片段之间的区别仅在于语法,现在不推荐使用第一种语法。 关于PHP指针与引用,我们在StackOverflow上找到一个类似的问题:

PHP:foreach 一个数组对象,如何将内部指针移动到下一个?

我需要循环和对象数组。在某些情况下,在循环内部,我需要将内部指针移动到数组中的下一个元素。我该怎么做?foreach($objectsas$object){//TODO:moveinternalpointertonextone?//next($objects)doesn'twork} 最佳答案 你不能移动数组指针,但你可以skiptheiteration:foreach($objectsas$object){if(!interesting($object)){continue;}//businessasusual}如果您需要决定是否

PHP:如何在foreach循环内移动数组指针?

$animals=array('cat','dog','horse','elephant');foreach($animalsas$animal){var_dump($animal);next($animals);}上面的代码输出:猫、狗、马、大象。我认为next函数应该移动$animals的内部指针,因此,我应该得到这个输出:猫,马。如何使$animals的内部指针向前(和向后)移动,以便它在foreach中受到影响?编辑1:来自手册:Asforeachreliesontheinternalarraypointerchangingitwithintheloopmayleadtoune

php数组指针奇怪

$a=array('a','b','c','d');while(key($a)!==NULL){echokey($a).'=>'.current($a).'';next($a);}prev($a);var_dump(current($a));为什么var_dump返回false而不是"d"? 最佳答案 这绝对是设计使然,尽管我梳理了PHP文档,但我找不到任何引用资料说明一旦您通过next结束时使指针无效array你不能再使用prev,PHP源代码(zend_hash.c)清楚地表明发生了什么:ZEND_APIintzend_hash