兩種方法:1、使用array_search()和array_splice()刪除,語法「array_splice($arr,array_search("字串",$arr,true),1);」。 2.利用foreach語句和unset()刪除,語法「foreach($arr as $k=>&$v){if($v==="字串"){unset($arr[$k]) ;}}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
方法1:使用array_search() array_splice()
#步驟1:使用array_search()函數在陣列中搜尋指定字串,並傳回對應的鍵名
array_search(value,array,strict)
參數 | 描述 |
---|---|
#value | ##必要。規定在數組中搜尋的鍵值。|
array | 必要。規定被搜尋的陣列。|
strict | 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
|
步驟2:使用array_splice()函數根據取得的鍵名刪除該元素
#array_splice() 函數從陣列中移除選定的元素(也可用新元素取代它)。array_splice(array1,start,length,array2)
描述 | |
---|---|
#array1 | 必要。規定數組。|
start | #必要。數值。規定刪除元素的開始位置。 0 = 第一個元素。 如果該值設定為正數,則從數組中該值指定的偏移量開始移除。如果該值設定為負數,則從陣列末端倒數該值指定的偏移量開始移除。 -2 意指從陣列的倒數第二個元素開始。|
length | 可選。數值。規定被移除的元素個數,也是被傳回數組的長度。 如果該值設為正數,則移除該數量的元素。如果該值設定為負數,則移除從 start 到陣列末端倒數 length 為止中間所有的元素。如果該值未設置,則移除從 start 參數設定的位置開始直到陣列末端的所有元素。|
array2 | 可選。規定帶有要插入原始數組中元素的數組。如果只有一個元素,則可以設定為字串,不需要設定為陣列。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"12",12,25,24); echo "原数组:"; var_dump($arr); $key=array_search("12",$arr,true); echo "指定字符串'12'的键名为:".$key; array_splice($arr,$key,1); echo "<br><br>删除指定字符串'12'后:"; var_dump($arr); ?>
方法2:利用foreach語句unset()函數
步驟1:使用foreach語句透過引用循環的方式遍歷數組
foreach ($array as $key => &$value){ //循环体语句块; }
一般情況下,使用foreach語句遍歷陣列時,是對陣列的備份進行操作,一般不會影響陣列本身。 想要透過循環來改變數組可以採用引用循環(在 $value 之前加上 &,這樣foreach語句會以引用賦值而不是拷貝一個值),那麼在循環體內對數組進行操作,就會影響數組本身。
步驟2:在循環體中,使用「===」運算子來尋找指定字串,並用unset()函數刪除該元素
if($value==="指定字符串"){ unset($arr[$key]); }
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"25",12,25,"24"); echo "原数组:"; var_dump($arr); foreach ($arr as $key => &$value){ if($value==="25"){ unset($arr[$key]); } } echo "<br>删除指定字符串'25'后:"; var_dump($arr); ?>
unset($value); // 最后取消掉引用
PHP影片教學》
以上是php數組怎麼去掉某個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!