PHP中數據類型array和object有什么區別?
您可以參考php幫助手冊來了解具體的概念差異。我說一下我個人的理解:一般來說,數組是數組,對象是對象。兩者有很大的區別。主要區別是我認為對象一般定義行為進行封裝,而數組主要定義數據結構。但是兩者的區別在php語言中是模糊的,因為php支持普通的數據類型,所以array可以是object,反之亦然。
PHP如何實現刪除數組元素和重新索引?
如果要刪除數組中的元素,可以直接使用unset。
lt?php$arr數組(a,b,c,d)unset($arr[1])print_r($arr)?gtprint_r($arr)
之后的結果不是這樣的,最后的結果是Array([0]gta[2]gtc[3]gtd)。
那么,我們如何確保缺失的元素將被填充,數組將被重新索引呢?答案是
array_splic:
lt?php$arrarray(a,b,c,d)array_splice($arr,1,1)print_r($arr)?大型旅行車的
print_r($arr)后,結果是A()rray([0]gta[1]gtc[2]gtd)。
刪除數組中的指定元素
Array_search()比較實用。
array_search()函數在數組中查找鍵值,就像in_array()一樣。如果找到這個值,將返回匹配元素的鍵名。如果沒有找到,返回false$arrayarray(1,2,3,4,5)$del_value3unset($array[array_search($del_value,$array)]//使用unset刪除這個元素print_r($array)并輸出array(1,2,4,5)。
但是如果要重新索引數組,就需要用foreach遍歷被刪除的數組,然后重新構建一個數組,也是可以的。
_shift函數:將數組的第一個單元格移出并返回結果,數組長度減一,其他單元格前移一位。所有數字鍵將從零開始計數,而文字鍵名稱不會改變。
_splice函數:將數組中選中的元素移出,不保留原來的鍵名。