php中如何去除數(shù)組中的一個(gè)元素 PHP中數(shù)據(jù)類(lèi)型array和object有什么區(qū)別?
PHP中數(shù)據(jù)類(lèi)型array和object有什么區(qū)別?您可以參考php幫助手冊(cè)來(lái)了解具體的概念差異。我說(shuō)一下我個(gè)人的理解:一般來(lái)說(shuō),數(shù)組是數(shù)組,對(duì)象是對(duì)象。兩者有很大的區(qū)別。主要區(qū)別是我認(rèn)為對(duì)象一般定義
PHP中數(shù)據(jù)類(lèi)型array和object有什么區(qū)別?
您可以參考php幫助手冊(cè)來(lái)了解具體的概念差異。我說(shuō)一下我個(gè)人的理解:一般來(lái)說(shuō),數(shù)組是數(shù)組,對(duì)象是對(duì)象。兩者有很大的區(qū)別。主要區(qū)別是我認(rèn)為對(duì)象一般定義行為進(jìn)行封裝,而數(shù)組主要定義數(shù)據(jù)結(jié)構(gòu)。但是兩者的區(qū)別在php語(yǔ)言中是模糊的,因?yàn)閜hp支持普通的數(shù)據(jù)類(lèi)型,所以array可以是object,反之亦然。
PHP如何實(shí)現(xiàn)刪除數(shù)組元素和重新索引?
如果要?jiǎng)h除數(shù)組中的元素,可以直接使用unset。
lt?php $arr數(shù)組(a,b,c,d) unset($arr[1]) print_r($arr)?gt print _ r($arr)
之后的結(jié)果不是這樣的,最后的結(jié)果是Array ([0] gt a [2] gt c [3] gt d)。
那么,我們?nèi)绾未_保缺失的元素將被填充,數(shù)組將被重新索引呢?答案是
array_splic:
lt?php $arr array(a,b,c,d) array_splice($arr,1,1) print_r($arr)?大型旅行車(chē)的
print_r($arr)后,結(jié)果是A()rray ([0] gt a [1] gt c [2] gt d)。
刪除數(shù)組中的指定元素
Array_search()比較實(shí)用。
array_search()函數(shù)在數(shù)組中查找鍵值,就像in_array()一樣。如果找到這個(gè)值,將返回匹配元素的鍵名。如果沒(méi)有找到,返回false $ array array (1,2,3,4,5)$ del _ value 3 unset($ array[array _ search($ del _ value,$ array)]//使用unset刪除這個(gè)元素print_r($array)并輸出array (1,2,4,5)。
但是如果要重新索引數(shù)組,就需要用foreach遍歷被刪除的數(shù)組,然后重新構(gòu)建一個(gè)數(shù)組,也是可以的。
_shift函數(shù):將數(shù)組的第一個(gè)單元格移出并返回結(jié)果,數(shù)組長(zhǎng)度減一,其他單元格前移一位。所有數(shù)字鍵將從零開(kāi)始計(jì)數(shù),而文字鍵名稱不會(huì)改變。
_splice函數(shù):將數(shù)組中選中的元素移出,不保留原來(lái)的鍵名。