在某個數(shù)組中刪除一個元素,我是直接用的unset,也不管unset之后會發(fā)生什么。但今天看到的東西卻讓我大吃一驚,并不是我想象的那樣,我用示例來說明
在江漢等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、做網(wǎng)站 網(wǎng)站設(shè)計制作按需網(wǎng)站設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,江漢網(wǎng)站建設(shè)費(fèi)用合理。
我們來舉一個例子:
代碼如下:
?php
$arr
=
array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?
我之前想象的是unset之后,數(shù)組$arr應(yīng)該會壓縮數(shù)組以填補(bǔ)缺少的元素位置,但print_r($arr)之后,結(jié)果卻不是那樣的,最終結(jié)果是
Array
(
[0]
=
a
[2]
=
c
[3]
=
d
);
如果是這樣的話,那我們就來看看數(shù)字?jǐn)?shù)組的形式
代碼如下:
?php
$arr
=
range(5,10,4);
print_r($arr);//span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
5
[1]
=
6
[2]
=
7
[3]
=
8
[4]
=
9
[5]
=
10
)/span
unset($arr[1]);//span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
5
[2]
=
7
[3]
=
8
[4]
=
9
[5]
=
10
)/span
print_r($arr);
?
可以看到輸出的形式也是數(shù)組是會填補(bǔ)缺少的元素的位置。那么怎么才能做到缺少的元素會被填補(bǔ)并且數(shù)組會被重新索引呢?答案是array_splice():pre
name="code"
class="php"?php
代碼如下:
$arr
=
array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
//
span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
a
[1]
=
c
[2]
=
d
)/span
?
如果要在某個數(shù)組中刪除一個元素,可以直接用的unset,例子代碼:
?php
$arr
=
array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?
以上代碼輸出的結(jié)果如下:
E:\TEMP\文件\expa.phpArray(
[0]
=
a
[1]
=
b
[2]
=
c
[3]
=
d)Array(
[0]
=
a
[2]
=
c
[3]
=
d)
array_splice() 函數(shù)從數(shù)組中可實(shí)現(xiàn)對數(shù)據(jù)中元素的添加、修改、刪除操作,方便對數(shù)組中的值進(jìn)行處理。
語法:array_splice(array,start,length,array) ,start是從0開始標(biāo)記,千萬不要忘記。注意添加和修改時參數(shù)是4個,刪除是3個參。
添加元素:
刪除元素:
修改元素:
break;
case
"a2":
//根據(jù)$id來刪除$strarray數(shù)組中對應(yīng)鍵值的元素值,完成后就重新生成數(shù)組.
//大家?guī)臀彝瓿蛇@部分.
//下面是我補(bǔ)充的
unset($strarray[$id]);
//補(bǔ)充結(jié)束
break;
case
"a3":
//用戶把信息提交到這里,根據(jù)提交的$id與數(shù)組$strarray的鍵值對比,如果相同就把數(shù)組對應(yīng)的元素值改變,注:其它的元素值和鍵位值都不變.完成后就重新生成數(shù)組.
//大家把這部分幫我完成一下
//下面是我補(bǔ)充的
if
(isset($strarray[$id]))
$strarray[$id]=$value;
//補(bǔ)充結(jié)束
break;