首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP array_splice 移除陣列指定鍵值並回傳新陣列實戰範例

     編輯:PHP 綜合知識

應用場景

人才網履歷保密關鍵字:以半形逗號分隔字串儲存,顯示時轉陣列,需支援刪除指定關鍵字。

程式碼流程

<?php
// 1. 從資料庫讀取逗號分隔字串
$sql = "SELECT key_secret FROM resume_relation WHERE userid = '$userid'";
$row = mysql_fetch_assoc(mysql_query($sql));
$keywords = explode(',', $row['key_secret']); // 轉陣列

// 2. 刪除指定索引 $autoid(從前端傳入)
array_splice($keywords, $autoid, 1); // 從 $autoid 起刪 1 個

// 3. 轉回字串存庫
$newSecret = implode(',', $keywords);
mysql_query("UPDATE resume_relation SET key_secret = '$newSecret' WHERE userid = '$userid'");
?>

array_splice 語法

array_splice(array &$input, int $offset, int|null $length = null, mixed $replacement = []): array
  • $offset:起始位置(負數從尾部算起)
  • $length:刪除數量(省略則刪至結尾)
  • $replacement:可選,替換插入的元素
  • 回傳被移除的元素陣列,原陣列就地修改並重新索引

進階用法

$arr = [1,2,3,4,5];

// 替換:索引 1~2 替換為 'a','b'
array_splice($arr, 1, 2, ['a','b']); // [1,'a','b',4,5]

// 僅插入不刪除(length=0)
array_splice($arr, 2, 0, ['x','y']); // 在索引 2 前插入

// 尾部追加
array_splice($arr, count($arr), 0, [99]);

注意事項

  • 僅支援數字索引,關聯陣列鍵名會重排為 0..n-1
  • 大量資料頻繁操作效能較差,考慮 SplFixedArray 或資料庫層處理
  • 原文使用 mysql_* 函數已棄用,請改用 mysqli/PDO
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved