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