一·反转函数,反转数组:
function reverse($arr) {
$n = count($arr);
$left = 0;
$right = $n - 1;
while ($left < $right) {
$temp = $arr[$left];
$arr[$left++] = $arr[$right];
$arr[$right--] = $temp;
}
return $arr;
}
二·将一个数组中的元素随机(打乱):
function custom_shuffle($arr) {
$n = count($arr);
for ($i = 0; $i < $n; $i++) {
$rand_pos = mt_rand(0, $n-1);
if ($rand_pos != $i) {
$temp = $arr[$i];
$arr[$i] = $arr[$rand_pos];
$arr[$rand_pos] = $temp;
}
}
return $arr;
}
三·给一个有数字和字母的字符串,让连着的数字和字母对应:
function number_alphabet($str) {
$number = preg_split('/[a-zA-Z]+/',$str, -1,PREG_SPLIT_NO_EMPTY);
$alphabet = preg_split('/\d+/',$str, -1, PREG_SPLIT_NO_EMPTY);
$n = count($number);
for ($i = 0; $i < $n; $i++) {
echo $number[$i] . ':' .$alphabet[$i].'<br>';
}
}
$str = 'ssSE21323LSGEMLs2093822ss983sgessee2727';
number_alphabet($str);
四·求n以内的质数(质数的定义:在大于1的自然数中,除了1和它本身以外,无法被其他自然数整除的数)#
思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数
2.除了2的偶数都不是质数
function get_prime($n) {
$prime = array(2);//2为质数
for ($i = 3; $i <= $n; $i += 2) {//偶数不是质数,步长可以加大
$sqrt = intval(sqrt($i));//求根号n
for ($j = 3; $j<=$sqrt;$j +=2) {//i是奇数,当然不能被偶数整除,步长也可以加大。
if($i % $j == 0) {
break;
}
}
if($j > $sqrt) {
array_push($prime,$i);
}
}
return $prime;
}
print_r(get_prime(1000));
友情提示:垃圾评论一律封号...