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