»PHP中动态创建变量名
PHP中,我们可以动态地创建一个变量名。例如,你想要使用与数据库查询得到的字段名称一致的变量名。 使用PHP中“可变变量”的语法,即在一个其值为你想作为变量名称的变量前面加一个$: $animal='turtles'; $turtles=103; print$$animal; 在PHP中如果在一个变量名称前面放两个美元($)符号,PHP就会废弃右面的变量,而取其值,然后,将该值作为“真正”的变量名...
»PHP删除数组中重复的元素
在PHP中,有没有办法快速的删除数组中重复的元素呢?答案是可以的。 如果是创建完成的数组,使用array_unique(),该函数会返回一个只包含唯一元素的新数组: $unique=array_unique($array); 如果是在程序运行时根据结果来创建数组,那么对于创建数字数组可以使用以下技术: foreach($_REQUEST['fruits']as$fruit){ if(!in_arr...
»PHP中用sort、asort、natsort函数对数组排序
在PHP开发中,我们可以使用sort()、asort()、natsort()函数对数组排序。 PHP中,要按惯例对数组进行排序,使用sort(): $states=array('Delaware','Pennsylvania','NewJersey'); sort($states); 要以数字为标准排序,把SORT_NUMERIC作为第二个参数传递给sort(): $scores=array(1,...
»PHP中如何动态改变数组大小
PHP中我们是修改数组大小的,比如增大或减小数组的当前大小。 使用array_pad()使数组增大: //startatthree $array=array('apple','banana','coconut'); //growtofive $array=array_pad($array,5,''); 现在,count($array)的值是5,而最后两个元素,$array[3]和$array[4]...
»PHP如何利用unset()删除数组中的元素
在PHP中删除数组元素有以下几种方法: 要删除一个元素,用onset() unset($array[3]); unset($array['foo']); 要删除多个不连续的元素,也用unset() unset($array[3],$array[5]); unset($array['foo'],$array['bar']); 要删除多个连续的元素,用array_splice() array_spli...
»PHP中根据时区计算时间
你需要计算不同时区中的时间。例如,你想让用户看到他们的本地时间,而不是你服务器的时间。 对于简单的计算问题,可以直接加或减两个时区间的偏移量,如下代码: <?php //IflocaltimeisEST $time_parts=localtime(); //California(PST)isthreehoursearlier $california_time_parts=localtime(...
»PHP中checkdate日期验证方法详解
在PHP中如何检查一个日期是否有效呢,例如,你想要确保用户不会提交一个类似“1962年2月30日”这样的生日。 很简单,我们可以使用checkdate()函数,代码如下: $valid=checkdate($month,$day,$year); 当$month位于1-12之间,$year位于1-32767之间,$day位于1和$year及$month所代表的相应年、月份中最大的天数之间时,函数ch...
»PHP中如何找到周、月或者年中的某一天
在PHP中我们可以找到一年中的某一天,或者某个星期,或者一周、一个月中的某一天。例如,我们利用PHP在每个星期一或者每个月的第一天输出特别的信息。 在date()或strftime()函数中使用适当的参数即可找到周、月及年中的某一天,如下代码所示: <?php printstrftime("Todayisday%dofthemonthand%joftheyear."); print'Toda...
»PHP中计算两个日期的时间差
如果你想利用PHP知道两个日期间相差多长时间。例如,你想告诉用户他最后登录你的网站至今已经过了多长时间了。要实现这个功能,在PHP中可以先把两个日期转换成纪元时间戳,并计算两个时间戳的差值。如下例中将这个差值分解成了周、天、小时、分钟和秒。 <?php //7:32:56pmonMay10,1965 $epoch_1=mktime(19,32,56,5,10,1965); //4:29:11...
»PHP中查出当前的日期和时间
在PHP中我们可以使用strftime()或date()函数来得到一个格式化的字符串,如下面的例子就查出当前的日期和时间 <?php printstrftime('%c'); print"\n"; printdate('r'); ?> 输出结果: WedMay1018:29:592006 Wed,10May200618:29:59-0400 如果想要的是时间部件,那么使用getdate...
»PHP中使用BCMath和GMP处理极大数和极小数
在PHP中我们可以使用PHP内置的极大(或极小)的浮点型数。 使用BCMath或者GMP库。 使用BCMath $sum=bcadd('1234567812345678','8765432187654321'); //$sumisnowthestring'9999999999999999' print$sum; 使用GMP $sum=gmp_add('1234567812345678','8765...
»PHP生成随机数详解
在PHP中,我们可以利用mt_rand()函数在给定的数字范围内生成一个随机数,例如下面的例子中,就利用PHP中的mt_rand()生成了一个大于等于$lower而小于等于$upper的随机数。 $random_number=mt_rand($lower,$upper); 当你想要在网页中随机显示一幅图像时,随机地设置游戏的开始位置时,从数据库中随机地选择一条记录时,或者生成一个随机的sessio...
»PHP中编程实现可下载的CSV文件
在PHP开发中,我们可以通过结合使用header()函数来改变在PHP程序中以fputcsv()函数输出的数据格式的内容类型(contenttype),可以实现将CSV文件发送给浏览器的功能。浏览器接收到CSV文件后会自动调用电子表格软件(或者其他与特定的客户端系统相关联的CSV文件编辑程序)对其进行处理。下面的PHP例子代码中将SQLSELECT查询的结果格式化为CSV数据,并提供了正确的响应头...
»Linux中使用eCryptfs加密主目录
本文根据回忆记述在ArchLinux上为某一新用户建立使用eCryptfs加密的$HOME目录并使之在登录时自动解密挂载的过程。大量参考了Unknownandpartlyhidden的eCryptfsand$HOME一文。 依赖的软件包:ecryptfs-utils。 加密目录 #mkdir-p/home/.ecryptfs/user/private #chmod755/home/.e...
»PHP在字符串中存储二进制数据
在PHP中,你可以解析一个包含着二进制编码值的字符串,或者可以把值编码为字符串。例如,你想以二进制表示法保存数值,而不以是ACSII字符的序列的形式。 使用pack()把二进制数据保存到一个字符串中: <?php $packed=pack('S4',1974,106,28225,32725); ?> 使用unpack()从一个字符串中抽取二进制数据: <?php $nums=un...