php如何把数组定义为常量
事实上php常量是不能包含数组的,但我们可能变通一下,通过另一途径把定义一个常量数组.
看下面的实例:
define('DEFAULT_ROLES', array('guy', 'development team'));
这样显然是不可以的,现用下面的代码:
define('DEFAULT_ROLES', 'guy|development team');
//...
$default = explode('|', DEFAULT_ROLES);
这样显然也比较麻烦,更好的办法,我们可以这样:
define ("FRUITS", serialize (array ("apple", "cherry", "banana")));
# use it
$my_fruits = unserialize (FRUITS);
把一个数据序列化成字符串保存为常量,用的时候再反序列化。
......
php根据数组中的值删除数组中的元素
以数据$messages为例:
$messages=array();
$messages[1] = 312;
$messages[2] = 401;
$messages[3] = 1599;
$messages[4] = 3;
我们要从数组中删除值等于401的元素,但我们不知道它的key。第一种方法我们用可以循环的方
法。但最简单的方法我们可以这样做:
if(($key = array_search($del_val, $messages)) !== false) {
unset($messages[$key]);
}
用array_search加unset.array_search根据值查询元素的key.然后这们就可以用unset删除数据
了。用 !==是为了防止键值为0的情况,元素的键有可能为0,它可能是成功返回的值。用if语句
只执行了一次动作。
......
计算两个日期相差多少天
如何计算两个日期间隔的天数?
<?php
$now = time(); // or your date as well
$your_date = strtotime("2010-01-01");
$datediff = $now - $your_date;
echo floor($datediff/(60*60*24));
?>
......
如何捕获var_dump的输出结果保存到一个字符串中?
使用output buffering:
<?php
ob_start();
var_dump($someVar);
$result = ob_get_clean();
?>
这样var_dump不会在浏览器上输出结果,而把输出结果保存到$result 变量中。
......
用php获取完整的URL
参考$_SERVER['REQUEST_URI'],例如
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
(注意两边加双引号在语法上是正确的)
......
近期文章
- 织梦5.7{dede:php}标签不起作用的解决办法
- php版本non-thread-safe和thread-safe的区别
- 什么是fatal flex scanner internal error--end of buffer missed
- php文件命名建议用小写
- php cookie字典
- seft和static在php中有什么不同
- 用php快速获取图片大小
- 用php的json_decode()检测json数据是否合法
- php三个等号
- unset和=null有什么不同
- php如何捕获一个警告信息
- 如何获得php数组中最后一个元素的键名?
- 在PHP中,你如何改变数组中某一元素的键名?
- php多维数组转xml
- php如何转化数组为SimpleXML对象
- php如何把数组定义为常量
- php根据数组中的值删除数组中的元素
- 计算两个日期相差多少天
- 如何捕获var_dump的输出结果保存到一个字符串中?
- 用php获取完整的URL