PHP陣列學習之怎麼去除空白或者重複的元素
→相關推薦:《》
今天本文的主要內容是刪除陣列中的空元素和重複元素。
首先我們來看看怎麼刪除陣列中的空元素?這裡我會介紹兩種方法。
方法1、foreach迴圈 + empty() + unset()
實現思想:
利用foreach語句來遍歷陣列$array,在每次迴圈中將鍵名賦給$key,鍵值賦給$value
foreach($array as $key => $value){ }
在迴圈中,利用empty()函式來判斷$value是否為空,如果為空則使用unset()刪掉該元素
下面我們給出完整實現程式碼:
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文網", '',2021,"mysql"); var_dump($array); // 使用array_filter()函式從陣列中移除空元素 $filtered_array = array_filter($array); echo "刪除空元素後的陣列"; var_dump($filtered_array); ?>
輸出結果:
說明:在PHP中empty()函式用於檢查一個變數是否被認為是空的。
當變數等於以下的值時empty()會認為是空的:
""(空字串)
0(作為整數的0)
0.0(作為浮點數的0)
“0”(作為字串的0)
NULL
FALSE
Array()(一個空陣列)
$var (一個宣告瞭,但是沒有值得變數)
方法2、使用array_filter()函式進行過濾
array_filter() 函式可以用回撥函式來過濾陣列中的元素。該函式會迭代陣列中的每個值,將它們傳遞給使用者定義的函式或回撥函式。如果省略回撥函式,則預設過濾空值。(array_filter() 函式不會改變原陣列)
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文網", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函式從陣列中移除空元素 $filtered_array = array_filter($array); echo "刪除空元素後的陣列"; var_dump($filtered_array); ?>
輸出結果:
可以看出:array_filter()在過濾陣列元素時,不會重置索引。刪除空元素後,還是按照原有的索引順序。
那麼如果想要重置索引,從0開始重新排序,要怎麼操作?我們可以使用array_values()
函式。
var_dump(array_values($filtered_array));
是不是很簡單!
上面我們瞭解了去除空元素的方法,下面我們看看怎麼去除重複陣列元素。
PHP陣列刪除重複陣列不用藉助其他方法,PHP直接就內建了一個函式來實現這個操作,大家知道是什麼函式嗎?
好了,不買關子了,就是array_unique()
函式。如果陣列中有兩個或更多個值相同,則array_unique()函式只保留第一個值,其他的值被移除。
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文網",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "刪除重複元素後的陣列"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
輸出結果:
array_unique()函式也不會重置鍵名(索引),被保留的陣列將保持第一個陣列項的鍵名型別。因此在使用array_unique()函式去除重複元素後,可以使用array_values()函式來重置索引。
var_dump(array_values($result));
其實我們還可以利用陣列中不存在重複鍵名的特性來去除重複陣列元素。
實現思想:先將鍵名和鍵值互換來移除重複值;然後在重新將鍵名和鍵值調換回來即可(推薦閱讀《》)。關鍵程式碼:
array_flip(array_flip($array))
好了就說到這裡了,有其他想知道的,可以點選這個哦。→ →
最後給大家推薦一個PHP陣列的免費影片教程:,快來學習吧!
以上就是PHP陣列學習之怎麼去除空白或者重複的元素的詳細內容,更多請關注php中文網其它相關文章!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758/viewspace-2827366/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP陣列去除空白或重複元素PHP陣列
- 如何去除有序陣列中的重複元素陣列
- php多維陣列去除重複值的方法PHP陣列
- js 的陣列去除重複元素程式碼例項JS陣列
- 一句程式碼搞定陣列去重(去除陣列中的重複元素)陣列
- javascript去除陣列中重複元素程式碼例項JavaScript陣列
- PHP陣列學習之計算陣列元素總和PHP陣列
- 使用jQuery去除陣列中的重複元素程式碼例項jQuery陣列
- php多維陣列去除空元素PHP陣列
- 陣列去除重複的幾個方法陣列
- PHP二維陣列切割為字串並去除重複的值PHP陣列字串
- java陣列中重複元素的去重Java陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- 使用HashSet<>去除重複元素的集合
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- Java基礎之去除List集合中的重複元素Java
- PHP 學習總結之陣列PHP陣列
- 計蒜客 移除陣列中的重複元素陣列
- 在陣列中找出唯一的重複元素陣列
- javascript刪除陣列重複元素程式碼JavaScript陣列
- php去除陣列中的鍵名PHP陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- Java之ArrayList去除重複元素(包括字串和自定義物件)Java字串物件
- PHP把MYSQL重複ID二維陣列重組為三維陣列PHPMySql陣列
- PHP學習3——陣列PHP陣列
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- javascript刪除陣列重複元素程式碼例項JavaScript陣列
- js刪除陣列重複元素程式碼例項JS陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- js連線多個陣列並刪除重複的元素JS陣列
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列
- JavaScript提取兩個陣列重複元素程式碼例項JavaScript陣列
- [LeetCode] Remove Duplicates from Sorted Array 有序陣列中去除重複項LeetCodeREM陣列
- [PHP] 演算法-陣列重複數字統計的PHP實現PHP演算法陣列
- JS 不使用 for forEach 獲取兩陣列中重複的元素JS陣列