使用環境:人才網項目中有一個簡歷保密設置,其中有一個過濾關鍵詞,只有某個企業的公司名中包含有其中的一個關鍵字,就不顯示該份簡歷,當然,我還沒有做到那裡去,現在是要做關鍵詞的增加刪除。
設想:不管一個人有多少份簡歷,所有簡歷都設置成一模一樣的關鍵詞過濾(主要是用的人也很少,所以這樣存儲無所謂,而且在搜索使用中很方便),然後將所有關鍵詞組成一個用半角逗號分隔的字符串。
難題:顯示的時候我將字符串轉化成數組然後再循環出來顯示,但是我現在就是要刪除指定的關鍵詞。
解決方案:既然轉化成了數組,那麼有值就有鍵,我就將鍵傳到刪除頁面去,刪除指定鍵的值就好了嘛。
難題:怎麼從數組中刪除指定鍵值呢,我只看到了過濾、入棧、出棧,沒有看到移除指定鍵值的內置函數。
現在,這個函數已經現身了,它叫array_splice,用它可以輕易的移除指定鍵的值,然後返回一個新的數組
代碼片斷:
復制代碼 代碼如下:
<?php
$sql="";
$sql.=" SELECT key_secret FROM ".T_."resume_relation_xuyinjie ";
$sql.=" WHERE 1=1 ";
$sql.=" AND userid ='".$userid."' ";
$result=@mysql_query($sql) or die('#41#');
$row=@mysql_fetch_array($result,MYSQL_ASSOC);
$key=explode(",",$row['key_secret']);//轉化成數組
array_splice($key,$autoid,1); //刪除指定鍵值
$key_secret=implode(",",$key); //轉化成便於存儲的字符串
?>
$autoid是傳過來的當前值的鍵,array_splice($key,$autoid,1)的意思就是從$key的數組中,從$autoid開始移除,移除一組
array_splice本身是一個很強大的內置函數,可以用於數組與字符串的交換,數組與數組的交換,不懂看手冊