在php中implode() 函數把數組元素組合為一個字符串了,與explode函數正好是反正,下面來看幾個implode函數示例.
語法:implode(separator,array) // array為數組,separator為分切符。
例子代碼如下:
- //鏈接搜索條件
- $wheresql = implode(' AND ', $wherearr); //鏈接搜索條件
- function simplode($ids) {
- return "'".implode("','", $ids)."'";
- } //開源軟件:Vevb.com
- $itemidarr = array(); //初始化itemidarr數組
- if(emptyempty($_POST['item'])) { //判斷提交過來的是否存在待操作的記錄,如果沒有,則顯示提示信息并退出
- showmessage('space_no_item');
- }
- $itemidstr = simplode($_POST['item']); //用逗號鏈接所有的操作ID
- //對提交的數據進行檢查
實例代碼如下:
- $catidarr = array();
- if(!emptyempty($t1)) $catidarr[] = '\''.$t1.'\'';
- if(!emptyempty($t2)) $catidarr[] = '\''.$t2.'\'';
- if(!emptyempty($t3)) $catidarr[] = '\''.$t3.'\'';
- $catidstr = implode(' , ', $catidarr); //用逗號鏈接所有的操作ID
SQL語句示例:
SELECT uid, name, namestatus FROM ".tname('space')." WHERE uid IN (".simplode($uids).")
例子,批量刪除數據:
SQL:$SQL="delete from `doing` where id in ('1,2,3,4')";
數據用逗號隔開,代碼如下:
- 表單:<form action="?action=doing" method="post">
- <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>
- <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/>
- <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/>
- <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/>
- <input type="submit"/>
- </form>
好$ID_Dele=$_POST['ID_Dele']將會是一個數組,雖然說PHP是弱類型的,但這里可沒ASP弱,ASP可以直接:
SQL="delete from [doing] where id in ('"&ID_Dele&"')"進行刪除,但PHP不能把$ID_Dele直接放進去,因為$ID_Dele可不是'1,2,3,4'哦,因為$ID_Dele是一個數組,具有鍵和值.
好,PHP中也不難,剛好有個函數:implode(),對了,同split()explode()功能剛好相反的一個函數,后兩者是用某字符(比如逗號)分割的,而前者則可以拼接為字符串.
因此,代碼如下:
- $ID_Dele= implode(",",$_POST['ID_Dele']);
- $SQL="delete from `doing` where id in ($ID_Dele)";
新聞熱點
疑難解答