PHP
- PHP根据某字段对高维数组排序   (2022-01-17)
- PHP读取MySQL某一列求和/个数   (2022-01-16)
- PHP保留小数点后n位   (2022-01-14)
- PHP获取指定时间差的日期   (2021-09-09)
- PHP计算两个日期的差   (2021-09-09)
- PHP实现单页面切换两套CSS   (2021-08-14)
- PHP实现页面跳转   (2021-08-12)
以下显示部分文章预览。
以下显示部分文章预览。
可以利用array_multisort()函数.
假设有一高维数组$arr, $arr的各元素也是数组,且都有键"key".
如果按照各数组的key进行升序排序,可以如下操作:
foreach( $arr as $data ){
$arr_keys[] = $data['key'];
}
//将各子数组的key键作为一个单独的数组
array_multisort($arr_keys,SORT_ASC,$arr);
//按照$arr_keys对$arr进行升序排序。
如果采用降序排序,需改为SORT_DESC.
    发表于2022-01-17
如果要获取数据表table中val1这一列的各行之和,以及行的个数,可以采用以下sql语句:
$sql = "SELECT SUM(`val1`) AS val_sum , COUNT( * ) AS cnt FROM table";
在mysqli_fetch_array时,只需读取第一行的'val_sum'和'cnt'键即可。上述sql语句后面还可添加where条件。
    发表于2022-01-16
使用round( val , n )函数,val是要处理的小数,n是要保留的小数位数,最后一位采取四舍五入。如果需要采取截断的方法,可以结合向下取整函数floor()处理。
示例:
$num = 3.1415
echo round($num,2);
#将得到3.14
    发表于2022-01-14
只需在date函数中加入时间戳函数即可,即:date( format , timestamp)。例:
date("Y-m-d" , strtotime(" -1 day") //返回昨天
date("Y-m-d" , strtotime(" +1 day " ) //返回明天
date("Y-m-d" , strtotime(" next Monday ") //下个星期一
    发表于2021-09-09
首先用date_create()创建两个日期对象:如
$day1 = date_create("2021-09-01"); //指定日期
$day2 = date_create( date("Y-m-d") ); //当前日期
然后用date_diff()计算两个日期的差值,返回一个“日期差”对象:
$diff = date_diff( $day1 , $day2);
最后格式化输出日期相差的天数:如
echo $diff->format("%R%a days"); //%R是符号,%a是天数
    发表于2021-09-09
在html页面中,若要引入外部CSS文件,只需添加一行:
<link rel="stylesheet" type="text/css" href="/My_CSS.css">
如果想两套CSS样式能够切换使用,可以用纯JS实现,但一般比较繁琐。事实上,如果把html的后缀改为.php,然后配合php的$_SESSION变量,根据当前用户选择的模版echo对应的CSS文件,将会变的非常简单。示例代码如下:
<?php
session_start();
if(!isset($_SESSION['key'])){
$_SESSION['key']='A';
}
if($_SESSION['key'] == 'A'){
echo "<link rel='stylesheet' type='text/css' href='/A.css'>";
}else{
echo "<link rel='stylesheet' type='text/css' href='/B.css'>";
}
?>
然后再用$_SESSION['value']调整用户选择的CSS模版即可。本方法可应用于实现网页的深色模式/浅色模式切换。
    发表于2021-08-14
一般用法:
header("Location: 目标url");
设置时间跳转:
header("refresh:3;url=目标url")
但两种方法都只能实现在本页面跳转。如果要在_blank中打开新页面,还是使用JS函数比较方便。
    发表于2021-08-12