PHP 배열 질문을 인터넷에서 찾아서 직접 준비해서 녹음해봤습니다.
1. 길이가 10인 배열을 만드는 함수를 작성하세요. 배열의 요소는 홀수로 증가하며 첫 번째 항목은 1입니다.
함수 arrsort($first,$length){
$arr = 배열();
for($i=$first;$i<=$length;$i ){
$arr[] = $i*2-1;
}
$arr 반환
}
$arr1 = arrsort(1,10);
Print_r($arr1);
출력:
함수 정렬($first,$length,$num){
for($i=$first;$i<=$length;$i){
//pow($num,$i-2)는 $num을 ($i-2)제곱으로 반환합니다
$arr[] = $num*pow($num,$i-2);
}
$arr 반환
$arr1 = 정렬(1,10,3);
If($maxval == $val){
$maxkey = $key;
}
}
$maxkey 반환;
}
$arr = 배열(0,-1,-2,5,"b"=>15,3);
코드 복사
함수 arrFibo($len){
$arr[0] = 0;
$arr[1] = 1;
for($i=2;$i<$len;$i ){
$arr[$i] = $arr[$i-1] $arr[$i-2];
}
$arr;
반환
}
에코 "
";<br> print_r(arrFibo(10));<br> echo "";
출력:
두 가지 방법:
①최대/최소
출력:
②sort는 요소를 작은 것에서 큰 것으로 정렬합니다. rsort는 요소를 큰 것에서 작은 것 순으로 정렬합니다
함수 arrsub($arr){
정렬($arr);
$min = $arr[0];
rsort($arr);
$max = $arr[0];
$sub = $max - $min;
$sub 반환
}
$arr = 배열(-1,-2,100);
에코 arrsub($arr);
출력:
102
6. 길이가 10보다 큰 배열의 마지막 5개 항목을 직접 가로채서 순서를 {1,2,3,4,5,6과 같이 처음 5개 항목으로 변경하는 메서드를 작성하세요. ,7,8,9 ,10}은 {6,7,8,9,10,1,2,3,4,5}가 됩니다.
아이디어: 먼저 배열을 해당 길이(array_slice)로 자른 다음 두 배열을 연결합니다(array_merge)
함수 정렬($arr){
$num = 개수($arr);
if($num > 10){
//array_slice($arr, 시작 위치, 차단 길이, 보유 인덱스(기본값은 false))
$arr_firstpart = array_slice($arr,0,$num-5,true);
$arr_lastpart = array_slice($arr,($num-5),5,true);
}그밖에{
echo "배열이 10개 요소를 초과하지 않습니다. 다시 입력하세요.";
종료();
}
//접합
$arr_new = array_merge($arr_lastpart,$arr_firstpart);
$arr_new 반환
}
$arr = array("a"=>1,2,3,8,9,6,"b"=>5,-1,"c"=>8,0,7);
에코 "
";</p> <p>print_r($arr);</p> <p>echo "<br>= = = = = 접합 후 = = = = <br><br>";</p> <p>print_r(arrsort($arr));</p> <p>에코 "";
출력:
배열은 10개 요소를 초과하지 않습니다. 다시 입력해 주세요
7. 두 배열을 새로운 배열로 연결합니다.
방법 ① array_merge() 함수를 사용
( array_merge_recursive() 함수는 array_merge() 함수와 마찬가지로 하나 이상의 배열 요소를 병합합니다. 한 배열의 값은 이전 배열에 추가되고 결과 배열을 반환합니다.
단, array_merge()와 달리 중복된 키 이름이 있을 경우 값을 덮어쓰지 않지만, 동일한 키 이름을 가진 여러 값이 반복적으로 배열로 구성됩니다. )
$arr = array("a"=>1,"b"=>2,3);
$arr2 = array("a"=>디,3,5);
$arr3 = array_merge($arr,$arr2);
$arr4 = array_merge_recursive($arr,$arr2);
echo "
";<br> Print_r($arr3);</p> <p> echo "<br> = = = = = <br><br>";</p> <p> print_r($arr4);<br> echo "";
출력:
[1] =>3
[2] =>5
)
함수 정렬($arr1,$arr2){
$arr_new = $arr1;
foreach($arr2 as $key=>$val){
$arr_new[] = $val;
}
$arr_new 반환
}
$arr1 = array("a"=>1,"b"=>2,3);
$arr2 = array("a"=>디,"c"=>3,5);
에코 "
";<br> print_r(arrsort($arr1,$arr2));<br> echo "";
출력:
8. 배열 역순(rsort 기능 사용 불가, 새로운 배열 생성 불가)
array_reverse() 함수를 사용하면 새로운 배열이 생성되므로 사용할 수 없습니다.
$len = 개수($arr);
$half_len = Floor($len/2);//내림하면 반올림된 값은 루프 수입니다
($i=0;$i<$half_len;$i ){
$j = $arr[$i];
//배열의 홀수 또는 짝수 판단
If($len%2!=0){ //홀수
$k = $half_len*2-$i;
}그밖에{
//짝수
$k = $half_len*2-$i-1;
}
$arr[$i] = $arr[$k];
$arr[$k] = $j;
}
에코 "
";<br> print_r($arr);<br> echo "";