版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《 基于深度學(xué)習(xí)的靜態(tài)手勢(shì)識(shí)別算法研究》范文
- 2024年石油加工催化劑項(xiàng)目商業(yè)發(fā)展計(jì)劃書(shū)
- 跑步機(jī)保修協(xié)議
- 二手房獨(dú)家合同書(shū)范本
- 塑料原料購(gòu)銷合同書(shū)范文
- 配司機(jī)的汽車租賃合同書(shū)正規(guī)范本
- 橡膠加工機(jī)械租賃合同
- 母嬰產(chǎn)品代理協(xié)議
- 護(hù)理投訴管理制度
- 股份公司股份轉(zhuǎn)讓協(xié)議書(shū)
- 第一單元測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- DB32∕T 3217-2017 公路工程EPS顆粒混合輕質(zhì)材料路堤技術(shù)規(guī)程
- 第13章《內(nèi)能》和第14章《內(nèi)能的利用》測(cè)試試題 -2024-2025學(xué)年人教版物理九年級(jí)全一冊(cè)
- 2024年基本級(jí)執(zhí)法資格考試題庫(kù)及解析(100題)
- 2024年全國(guó)職業(yè)院校技能大賽高職組(智能網(wǎng)聯(lián)汽車技術(shù)賽項(xiàng))考試題庫(kù)(含答案)
- 2024年二手房購(gòu)房定金合同范例(三篇)
- 新一代物流無(wú)人機(jī)運(yùn)營(yíng)模式及管理體系構(gòu)建方案
- 2025屆高考語(yǔ)文復(fù)習(xí):作文審題立意+課件
- 高標(biāo)準(zhǔn)農(nóng)田施工投標(biāo)方案(技術(shù)方案)
- 重度營(yíng)養(yǎng)不良的護(hù)理查房
- 新能源汽車動(dòng)力電池回收處理考核試卷
評(píng)論
0/150
提交評(píng)論