8個(gè)PHP數(shù)組面試題_第1頁(yè)
8個(gè)PHP數(shù)組面試題_第2頁(yè)
8個(gè)PHP數(shù)組面試題_第3頁(yè)
8個(gè)PHP數(shù)組面試題_第4頁(yè)
8個(gè)PHP數(shù)組面試題_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——8個(gè)PHP數(shù)組面試題8個(gè)PHP數(shù)組面試題

介紹了8個(gè)PHP數(shù)組面試題,例如寫(xiě)函數(shù)創(chuàng)造長(zhǎng)度為10的數(shù)組,數(shù)組中的元素為遞增的奇數(shù),首項(xiàng)為1、創(chuàng)造長(zhǎng)度為10的數(shù)組,數(shù)組中的數(shù)為遞增的等比數(shù),比值為3,首項(xiàng)為等題目,需要的摯友可以參考下。

網(wǎng)上找的PHP數(shù)組題,打定自己做一遍并且記錄下來(lái)。

1.寫(xiě)函數(shù)創(chuàng)造長(zhǎng)度為10的數(shù)組,數(shù)組中的元素為遞增的奇數(shù),首項(xiàng)為1.

復(fù)制代碼代碼如下:

?php

functionarrsort$first,$length

$arr=array;

for$i=$first;$i=$length;$i++

$arr[]=$i*2-1;

return$arr;

$arr1=arrsort1,10;

print_r$arr1;

輸出:

復(fù)制代碼代碼如下:

Array[0]=1[1]=3[2]=5[3]=7[4]=9[5]=11[6]=13[7]=15[8]=17[9]=19

2.創(chuàng)造長(zhǎng)度為10的`數(shù)組,數(shù)組中的數(shù)為遞增的等比數(shù),比值為3,首項(xiàng)為1.

復(fù)制代碼代碼如下:

?php

//$num為比值

functionarrsort$first,$length,$num

$arr=array;

for$i=$first;$i=$length;$i++

//pow$num,$i-2;返回$num的$i-2次方

$arr[]=$num*pow$num,$i-2;

return$arr;

$arr1=arrsort1,10,3;

print_r$arr1;

輸出:

復(fù)制代碼代碼如下:

Array[0]=1[1]=3[2]=9[3]=27[4]=81[5]=243[6]=729[7]=2187[8]=6561[9]=19683

3.求數(shù)組中最大數(shù)的下標(biāo).

復(fù)制代碼代碼如下:

functionmaxkey$arr

$maxval=max$arr;

foreach$arras$key=$val

if$maxval==$val

$maxkey=$key;

return$maxkey;

$arr=array0,-1,-2,5,b=15,3;

echomaxkey$arr;

輸出:

復(fù)制代碼代碼如下:

b

4.創(chuàng)造一個(gè)長(zhǎng)度為10的數(shù)組,數(shù)組中的元素得志斐波拉契數(shù)列的規(guī)律.

斐波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F0=0,F(xiàn)1=1,F(xiàn)n=Fn-1+Fn-2(n=2,nN*).更加指出:第0項(xiàng)是0,第1項(xiàng)是第一個(gè)1。

復(fù)制代碼代碼如下:

?php

functionarrFibo$len

$arr[0]=0;

$arr[1]=1;

for$i=2;$i$len;$i++

$arr[$i]=$arr[$i-1]+$arr[$i-2];

return$arr;

echopre;

print_rarrFibo10;

echo/pre;

輸出:

復(fù)制代碼代碼如下:

Array

[0]=0

[1]=1

[2]=1

[3]=2

[4]=3

[5]=5

[6]=8

[7]=13

[8]=21

[9]=34

5.計(jì)算數(shù)組中最大數(shù)和最小數(shù)的差.

兩種方法:

①max/min

輸出:

復(fù)制代碼代碼如下:

102

②sort把元素按從小到大排序/rsort吧元素按從大到小排序

復(fù)制代碼代碼如下:

?php

functionarrsub$arr

sort$arr;

$min=$arr[0];

rsort$arr;

$max=$arr[0];

$sub=$max-$min;

return$sub;

$arr=array-1,-2,100;

echoarrsub$arr;

輸出:

102

6.寫(xiě)一個(gè)方法,將一個(gè)長(zhǎng)度超過(guò)10的數(shù)組結(jié)果5項(xiàng)直接截取,不變更依次變?yōu)榍?項(xiàng),如1,2,3,4,5,6,7,8,9,10變?yōu)?,7,8,9,10,1,2,3,4,5.

思路:先把數(shù)組截取相應(yīng)的長(zhǎng)度array_slice,再把2段數(shù)組拼接array_merge

復(fù)制代碼代碼如下:

?php

functionarrsort$arr

$num=count$arr;

if$num10

//array_slice$arr,起始位置,截取長(zhǎng)度,留存索引默認(rèn)為false

$arr_firstpart=array_slice$arr,0,$num-5,true;

$arr_lastpart=array_slice$arr,$num-5,5,true;

else

echo數(shù)組不超過(guò)10個(gè)元素,請(qǐng)重新輸入;

exit;

//拼接

$arr_new=array_merge$arr_lastpart,$arr_firstpart;

return$arr_new;

$arr=arraya=1,2,3,8,9,6,b=5,-1,c=8,0,7;

echopre;

print_r$arr;

echobr=====拼接后====brbr;

print_rarrsort$arr;

echo/pre;

輸出:

8個(gè)PHP數(shù)組面試題

復(fù)制代碼代碼如下:

Array

[a]=1

[0]=2

[1]=3

[2]=8

[3]=9

[4]=6

[b]=5

[5]=-1

[c]=8

[6]=0

[7]=7

=====拼接后====

復(fù)制代碼代碼如下:

Array

[b]=5

[0]=-1

[c]=8

[1]=0

[2]=7

[a]=1

[3]=2

[4]=3

[5]=8

[6]=9

[7]=6

當(dāng)數(shù)組不得志長(zhǎng)度為10時(shí):

復(fù)制代碼代碼如下:

$arr=arraya=1,2,3;

輸出:

復(fù)制代碼代碼如下:

Array

[a]=1

[0]=2

[1]=3

=====拼接后====

數(shù)組不超過(guò)10個(gè)元素,請(qǐng)重新輸入

7.將兩個(gè)數(shù)組連接成一個(gè)新數(shù)組.

方法①使用array_merge函數(shù)

復(fù)制代碼代碼如下:

array_merge$arr1,$arr2;

方法②使用array_merge_recursive函數(shù)遞歸追加數(shù)組

array_merge_recursive函數(shù)與array_merge函數(shù)一樣,將一個(gè)或多個(gè)數(shù)組的元素的合并起來(lái),一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面。并返回作為結(jié)果的數(shù)組。

但是,與array_merge不同的是,當(dāng)有重復(fù)的鍵名時(shí),值不會(huì)被籠罩,而是將多個(gè)一致鍵名的值遞歸組成一個(gè)數(shù)組。

復(fù)制代碼代碼如下:

?php

$arr=arraya=1,b=2,3;

$arr2=arraya=Dee,3,5;

$arr3=array_merge$arr,$arr2;

$arr4=array_merge_recursive$arr,$arr2;

echopre;

print_r$arr3;

echobr=====brbr;

print_r$arr4;

echo/pre;

輸出:

復(fù)制代碼代碼如下:

Array

[a]=Dee

[b]=2

[0]=3

[1]=3

[2]=5

=====

復(fù)制代碼代碼如下:

Array

[a]=Array

[0]=1

[1]=Dee

[b]=2

[0]=3

[1]=3

[2]=5

第一個(gè)輸出的數(shù)組中索引為a的值1被索引被其次個(gè)數(shù)組中索引為a的值Dee籠罩了。

方法③

復(fù)制代碼代碼如下:

?php

functionarrsort$arr1,$arr2

$arr_new=$arr1;

foreach$arr2as$key=$val

$arr_new[]=$val;

return$arr_new;

$arr1=arraya=1,b=2,3;

$arr2=arraya=Dee,c=3,5;

echopre;

print_rarrsort$arr1,$arr2;

echo/pre;

輸出:

復(fù)制代碼代碼如下:

Array

[a]=1

[b]=2

[0]=3

[1]=Dee

[2]=3

[3]=5

假設(shè)是索引數(shù)組而且有重復(fù)的索引,那么其次個(gè)數(shù)組中的這個(gè)重復(fù)的索引會(huì)被修改成新的索引。

8.數(shù)組逆序不能使用rsort函數(shù),不能生成新數(shù)組

使用array_reverse函數(shù)會(huì)創(chuàng)造新的數(shù)組,所以不能使用。

復(fù)制代碼代碼如下:

?php

$arr=arraya,b,c,1,10;

$i=;//要替換位置的數(shù)的下標(biāo)

$j=;//臨時(shí)變量

$k=;//被替換位置的數(shù)的下標(biāo)

$len=count$arr;

$half_len=floor$len/2;//向下取整,取整的值是循環(huán)的次數(shù)

for$i=0;$i$half_len;$i++

$j=$arr[$i];

//判斷數(shù)組個(gè)數(shù)奇偶

if$len%2!=0//奇數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論