本文實(shí)例講述了php實(shí)現(xiàn)將二維關(guān)聯(lián)數(shù)組轉(zhuǎn)換成字符串的方法。分享給大家供大家參考,具體如下:
需求
項(xiàng)目中遇到了二維關(guān)聯(lián)數(shù)組轉(zhuǎn)字符串的問題,查閱相關(guān)資料,寫了如下程序,并且能過濾重復(fù)的關(guān)鍵字。
舉例,php的二維數(shù)組如下:
$name = array( "self" => "wangzhengyi", "student" => array( "chenshan", "xiaolingang" ), "unkmow" => "chaikun", "teacher" => array( "huangwei", "fanwenqing" ) );
最后要獲得的string格式是:
wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing
思路
方法
利用static關(guān)鍵字和遞歸的思想去遍歷數(shù)組
自定義函數(shù)代碼(php)
function arrToStr ($array) { // 定義存儲(chǔ)所有字符串的數(shù)組 static $r_arr = array(); if (is_array($array)) { foreach ($array as $key => $value) { if (is_array($value)) { // 遞歸遍歷 arrToStr($value); } else { $r_arr[] = $value; } } } else if (is_string($array)) { $r_arr[] = $array; } //數(shù)組去重 $r_arr = array_unique($r_arr); $string = implode(",", $r_arr); return $string; }
完整示例代碼:
<?php $name = array( "self" => "wangzhengyi", "student" => array( "chenshan", "xiaolingang" ), "unkmow" => "chaikun", "teacher" => array( "huangwei", "fanwenqing" ) ); function arrToStr ($array) { // 定義存儲(chǔ)所有字符串的數(shù)組 static $r_arr = array(); if (is_array($array)) { foreach ($array as $key => $value) { if (is_array($value)) { // 遞歸遍歷 arrToStr($value); } else { $r_arr[] = $value; } } } else if (is_string($array)) { $r_arr[] = $array; } //數(shù)組去重 $r_arr = array_unique($r_arr); $string = implode(",", $r_arr); return $string; } echo arrToStr($name); ?>
運(yùn)行結(jié)果:
wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。