例如:http://www.sina.com.cn/abc/def/fg.php?id=1幸亏取出php或.php(扩展名不仅限于php)
function getExt($url){
$arr = parse_url($url);
$file = basename($arr['path']);
$ext = explode(".",$file);
return $ext[1];
}
方法一.
$count = 3;
echo test($s,$count);
function test($s='',$count=3){
if(empty($s) || $count <= 0){
return false;
}
//反转
$str = strrev($s);
//分割
$arr = str_split($str,$count);
//连接
$new_s = join(',',$arr);
//再次反转
return strrev($new_s);
}
方法二
$str = '1234567890';
$arr = array();
$c = strrev($str);
for ($i=0; $i < ceil(strlen($c)/3); $i++) {
$arr[] = substr($c,$i*3,3);
}
echo strrev(implode(',',$arr));
如:
$a=’/a/b/c/d/e.php’
$b=’/a/b/12/34/c.php’
计算出$b相对于$a的相对路径应该是../../c/d
$na=explode('/',$a);
$nb=explode('/',$b);
$numa=count($na);
$numb=count($nb);
$max=$numa>$numb?$numa:$numb;
for($i=0;$i<$max-1;$i++){
if($na[$i]!=$nb[$i]){
$up.='../';
$path.=$na[$i]."/";
}}
echo $relpath=$up.$path;
要求:
1不要使用qsort等系统内置排序函数。
2请使用你认为最快最优的方式实现该函数并使排序的复杂度最低
$arr = array(
array('id'=>'3','score'=>90),
array('id'=>'5','score'=>13),
array('id'=>'8','score'=>23),
array('id'=>'32','score'=>87),
array('id'=>'79','score'=>34),
array('id'=>'39','score'=>83),
array('id'=>'93','score'=>82),
array('id'=>'82','score'=>81),
array('id'=>'45','score'=>84),
);
function bubbleSort($numbers) {
$cnt = count($numbers);
for ($i = 0; $i < $cnt; $i++) {
for ($j = 0; $j < $cnt - $i - 1; $j++) {
if ($numbers[$j]['score'] > $numbers[$j + 1]['score']) {
$temp = $numbers[$j];
$numbers[$j] = $numbers[$j + 1];
$numbers[$j + 1] = $temp;
}
}
}
return $numbers;
}
echo ""
;
print_r(bubbleSort($arr));
CREATE TABLE payment(
id int unsigned AUTO_INCREMENT,
user_id int unsigned comment ‘用户id’,
quantity smallint unsigned comment ‘本次购买产品数量’,
pay_time timestamp comment ‘购买时间’,
PRIMARY KEY(id)
)
用户每访问成功付款一笔订单(从进入到离开),会增加一条记录,记录用户的ID(user_id),以及购买的产品数量。比如:
1、208,2 //208这个用户购买2个产品
Insert into payment (user_id,quantity)values(‘***’,’***’)
1)、请写出一个SQL语句挑出用户(id=100)最近购买的10条订单。
Select use_id,quantity,pay_time form payment where id=100 order by pay_time desc;
2)、请写一个SQL语句挑出用户(id=100)最近】购买的第10到第20条订单(共10个)
Select use_id,quantity,pay_time form payment where id=100 order by pay_time desc limit 10,10;
3)、请写出一个SQL语句挑出购买产品数最多的10个用户(user_id)和对应购买的产品总数。
Select use_id,sum(quantity) total,pay_time form payment group by use_id order by total desc limit 10;
2、请写一个SQL语句。输出购买产品数分别等于1,2,3,4,5,6,7,8,9,10的用户数量,如果某个数量对应的用户数为0,可以不输出。
Select count(id) from payment where quantity in (1,2,3,4,5.6,7,8,9,10) group by quantity