易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP 的引用变量问题

$xml = '../data/news.xml' ;
$qp = qp($xml, 'news_root')->children();
$arrData = array() ;
$i = 0 ;
foreach( $qp as $child )
{
print_r( $arrData );
echo "<br/>hi<br/>";
unset($arrSub);
$arrSub = array() ;
array_push( $arrData , &$arrSub );
print_r( $arrData );
echo "<br/>";
// $arrData[] = &$arrSub;
$child = $child->children() ;
foreach( $child as $item )
{
$arrSub[ $item->tag() ] = $item->text();
}
print_r( $arrData );
echo"<br/>";
}
上面的代码,注意 unset($arrSub) 这句.
我的本意是 $arrData 解析出xml的2层内容.
我用array_push压入一个引用的数组 arrSub ,
然后操作arrSub,等于修改arrData.
但是,这其实是有问题的.
显示arrData最后的内容全是最后一条xml内容的复制. (我的xml最后是空项,所以arrData是:[ [],[] ] ,而不是正确的: [ [data1,data2] , [] ]
当我用引用把arrSub压入arrData后,
一个循环过后,又遇到语句 $arrSub = array() ; 这就有问题了,这句话执行后, arrData里面的一个也变成了空的array.
所以必须解除引用 unset( $arrSub ) 就能解决问题.


相关文档:

Windows下php和memcahe开发

memcached本地windows系统测试
用的是windows系统。
1.下载Memcache for win32
下载地址: http://jehiah.cz/projects/memcached-win32/
选择memcached 1.2.1 for Win32 binaries (Dec 23, 2006) 是exe的程序
memcached.exe -d install
memcached -d start
2.下载php_memcache.dll
下载地址: http://www.wesoho.com/ ......

php socket 浏览器

<?PHP
/**
* patServer
* PHP socket server base class
* Events that can be handled:
*   * onStart
*   * onConnect
*   * onConnectionRefused
*   * onClose
*   * onShutdown
*   * onReceiveData
*
* @version 1.1
* @author &n ......

php 字符串、文件转化成二进制流文件

$file1 = 'F:/46.gif';
$file2 = 'F:/test.txt';
$file3 = 'F:/47.gif';
$size = filesize($file1);
echo '文件大小为:'.$size;
echo "\n<br>转化为二进制 ...";
$content = file_get_contents($file1);
$content = bstr2bin($content);
$fp = fopen($file2, 'w');
fwrite($fp, $content);
fclose($fp);
......

EClipse for PHP 中文乱码问题

EClipse for PHP 中文乱码问题
UTF-8 格式的php,中文都是乱码.
如果此时在EClipse中输入中文会有 CP1252 错误( CP1252不支持xxxx )
解决方法:
windows->preferences->general 打开点击workspace 此时右侧出现text file encoding就是文本编码 default cp1252 点击other 下拉菜单 选择UTF-8 选择即可编译 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号