(1)有一串数字1,2,3,4,5,6,组成一个随机数组,并且第3个位置不能为5,然后5,6不能连续。。
(2)一个字符串$str="aaaabsfdsfavdchjs",找出第一个唯一存在的字符。
(3)有一堆数字,12,65,110,2,3,55,79,10,45等很多数字并且没有重复的,
要求是:输出第一个数是最大的,第二个数是最小的 ,第三个数是第二大,
第四个数是第二小...一次类推
(4)写一个函数,将一个字符串(如:1234567890),转换成(如1,234,567,890)每3位用逗号隔开的形式。
(5)请写一个函数实现获取文件的后缀名 比如: abc.exe.jpg
(6)使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
(7)写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
(8)写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
(9)给出一个字符串如 “A journey of a thousand miles must begin with a single step.” ,通过 PHP 程序处理变成 “a journeY oF A thousanD mileS musT begiN witH A singlE steP.”
[
注意:
1、每个单词最后的字符如果是大写就变成小写,如果是小写就变成大写。
2、如果单词只有一个字母,则转换这个字母,如“A” 变成 “a”,“a”变成“A”。
3、标点符号不用变化。
]
(10)请实现一个函数,输入一段文本,把文本解析到一个数组中,数组每行元素的key通过输入参数指定。函数原型:function ExplodeLines($text, $columnNames)
(11)写个function,把数组$data=array(23,22,45,28); 的个位,十位分别拆分成如下新数组$data=array(2,3,2,2,4,5,2,8);
(12)含折扣的退货算法。
函数原型: function CalcRefundAmount($orderItems, $discountAmount, $refundItems)
假设用户有一个订单,
$orderItems = array(
‘ItemA’=>array(‘price’=>5.0, ‘quantity’=>2),
‘ItemB’=>array(‘price’=>20.0, ‘quantity’=>1),
);
订单中产品ItemA的单价是5.0,数量是2;产品ItemB的单价是20,数量是1;
这个订单总价是 5.0 * 2 + 20.0 * 1 = 30。
假设最终付款的时候,由于这个订单由于使用代金券,优惠了$discountAmount = 10.0 元的价格,用户实际支付了20元。退货的时候,每个产品的退货价格是按照付款折扣率计算的。如果用户退货需要退掉1个ItemA,那么实际退给用户的钱应该是
(5.0 * 1) * (20.0/30.0) = 3.33 元(精确到2位小数)
$refundItems是实际退货的数量。在$orderItems为上述取值,$discountAmount=10的时候
样例1:$refundItems = array( array(‘ItemA’=>1) ) 表示退1个ItemA,函数返回3.33
样例2:$refundItems = array( array(‘ItemA’=>2, ‘ItemB’=>1) ) 表示全退,函数返回20.00
请编写能实现上述功能的函数。