


8 PHP array interview questions, PHP array test questions
PHP array questions found online, prepare to do it yourself and record it.
1. Write a function to create an array with a length of 10. The elements in the array are increasing odd numbers, and the first item is 1.
Copy code The code is as follows:
function arrsort($first,$length){
$arr = array();
for($i=$first;$i
$arr[] = $i*2-1;
}
return $arr;
}
$arr1 = arrsort(1,10);
Print_r($arr1);
Output:
Copy code The code is as follows:
Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 [5] => 11 [6] => 13 [7] => 15 [8] => 17 [9] => 19 )
2. Create an array with a length of 10. The numbers in the array are increasing geometric numbers, the ratio is 3, and the first item is 1.
Copy code The code is as follows:
//$num is the ratio
Function arrsort($first,$length,$num){
$arr= array();
for($i=$first;$i
//pow($num,$i-2); returns $num raised to the ($i-2) power
$arr[] = $num*pow($num,$i-2);
}
return $arr;
Print_r($arr1);
Copy code The code is as follows:
Array ( [0] => 1 [1] => 3 [2] => 9 [3] => 27 [4] => 81 [5] => 243 [6] => 729 [7] => 2187 [8] => 6561 [9] => 19683 )
3. Find the subscript of the largest number in the array.
Copy code The code is as follows:
function maxkey($arr){
foreach($arr as $key=>$val){
If($maxval == $val){
$maxkey = $key;
}
}
Return $maxkey;
}
echo maxkey($arr);
Copy code The code is as follows:
b
4. Create an array with a length of 10. The elements in the array satisfy the rules of the Fibonacci sequence.
Copy code The code is as follows:
$arr[0] = 0;
$arr[1] = 1;
for($i=2;$i
$arr[$i] = $arr[$i-1] $arr[$i-2];
}
Return $arr;
}
";<p> print_r(arrFibo(10));<br> echo "</p>";
Output:
Copy code The code is as follows:
Array
(
[0] => 0
[1] => 1
[2] => 1
[3] => 2
[4] => 3
[5] => 5
[6] => 8
[7] => 13
[8] => 21
[9] => 34
)
5. Calculate the difference between the largest number and the smallest number in the array.
①max/min
Output:
Copy code The code is as follows:
102
②sort sorts the elements from small to large/rsort sorts the elements from large to small
Copy code The code is as follows:
function arrsub($arr){
sort($arr);
$min = $arr[0];
rsort($arr);
$max = $arr[0];
$sub = $max - $min;
return $sub;
}
$arr = array(-1,-2,100);
echo arrsub($arr);
Output:
102
6. Write a method to directly intercept the last 5 items of an array with a length of more than 10, and change the order into the first 5 items, such as {1,2,3,4,5,6,7,8,9 ,10} becomes {6,7,8,9,10,1,2,3,4,5}.
Idea: First cut the array to the corresponding length (array_slice), and then splice the two arrays (array_merge)
Copy code The code is as follows:
function arrsort($arr){
$num = count($arr);
if($num > 10){
//array_slice($arr, starting position, interception length, retained index (default is false))
$arr_firstpart = array_slice($arr,0,$num-5,true);
$arr_lastpart = array_slice($arr,($num-5),5,true);
}else{
echo "The array does not exceed 10 elements, please re-enter";
exit();
}
//Splicing
$arr_new = array_merge($arr_lastpart,$arr_firstpart);
return $arr_new;
}
$arr = array("a"=>1,2,3,8,9,6,"b"=>5,-1,"c"=>8,0,7);
echo "
"; <p>print_r($arr);</p> <p>echo "<br>= = = = = After splicing = = = = <br><br>";</p> <p>print_r(arrsort($arr));</p> <p>echo "</p>";
Output:
Copy code The code is as follows:
Array
(
[a] => 1
[0] => 2
[1] => 3
[2] => 8
[3] => 9
[4] => 6
[b] => 5
[5] => -1
[c] => 8
[6] => 0
[7] => 7
)
= = = = = After splicing = = = =
Copy code The code is as follows:
Array
(
[b] => 5
[0] => -1
[c] => 8
[1] => 0
[2] => 7
[a] => 1
[3] => 2
[4] => 3
[5] => 8
[6] => 9
[7] => 6
)
When the array does not meet the length of 10:
Copy code The code is as follows:
$arr = array("a"=>1,2,3);
Output:
Copy code The code is as follows:
Array
(
[a] => 1
[0] => 2
[1] => 3
)
= = = = = After splicing = = = =
The array does not exceed 10 elements, please re-enter
7. Concatenate the two arrays into a new array.
Method ① Use array_merge() function
Copy code The code is as follows:
array_merge($arr1,$arr2);
Method ② Use the array_merge_recursive() function to recursively append the array
( The array_merge_recursive() function, like the array_merge() function, merges the elements of one or more arrays. The values in one array are appended to the previous array. And returns the resulting array.
However, unlike array_merge(), when there are duplicate key names, the value will not be overwritten, but multiple values with the same key name will be recursively formed into an array. )
Copy code The code is as follows:
$arr = array("a"=>1,"b"=>2,3);
$arr2 = array("a"=>Dee,3,5);
$arr3 = array_merge($arr,$arr2);
$arr4 = array_merge_recursive($arr,$arr2);
echo "
";<br> Print_r($arr3); <p> echo "<br> = = = = = <br><br>";</p><p> print_r($arr4);<br> echo "</p>";
Output:
Copy code The code is as follows:
Array
(
[a] => Dee
[b] => 2
[0] => 3
[1] => 3
[2] => 5
)
= = = = =
Copy code The code is as follows:
Array
(
[a] => Array
(
[0] => 1
[1] =>
)
[0] => 3
[1] => 3
[2] => 5
)
Method ③
Copy code The code is as follows:
$arr_new = $arr1;
foreach($arr2 as $key=>$val){
$arr_new[] = $val;
}
}
$arr2 = array("a"=>Dee,"c"=>3,5);
";<p> print_r(arrsort($arr1,$arr2));<br> echo "</p>";
Output:
Copy code The code is as follows:
Array
(
[a] => 1
[b] => 2
[0] => 3
[1] => Dee
[2] => 3
[3] => 5
)
If it is an indexed array and there is a duplicate index, the duplicate index in the second array will be modified to a new index.
8. Array reverse order (rsort function cannot be used, new array cannot be generated)
Using the array_reverse() function will create a new array, so it cannot be used.
Copy code The code is as follows:
$i = "";//The subscript of the number to be replaced
$j = "";//Temporary variable
$k = "";//The subscript of the number to be replaced
$half_len = floor($len/2);//Round down, the rounded value is the number of loops
//Judge the odd or even number of arrays
If($len%2!=0){ //Odd number
$k = $half_len*2-$i;
}else{
//Even number
$k = $half_len*2-$i-1;
}
$arr[$k] = $j;
}
";<p> print_r($arr);<br> echo "</p>";
Output:
Copy code The code is as follows: Array
(
[0] => 10
[1] => 1
[2] => c
[3] => b
[4] => a
)

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Mac version
God-level code editing software (SublimeText3)

WebStorm Mac version
Useful JavaScript development tools