note 74757 deleted from function.array-merge by nlopess

From: Date: Tue, 01 May 2007 13:49:39 +0000
Subject: note 74757 deleted from function.array-merge by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-126072@lists.php.net to get a copy of this message
Note Submitter: Halit YEŞİL mail at halityesil dot com ---- Multi Array in single array function and array to string function... <?PHP /* * code by Halit YEŞİL * http://www.halityesil.com , http://www.trteknik.org , http://www.mysqlturkiye.com , http://www.trwhois.com/php.net * */ /* * Verilen diziyi sonuca string olarak düzenlenmiş halde verir * * @param array a * @param int level * @return string */ function array2string($a, $level = 0){ //Eğer dizi değilse direkt sonuca aktar if(!is_array($a)) return $a; //Satır sonlarını ayarla $ln = "\r\n"; //Level boyunca boşluk oluştur girinti $l = return2space($level*11); //Array elementi için girinti yap $e = return2space(6); //Array adını belirle $o = 'Array('.$ln; //iç girintiyi ayarla $x = $l.$e; //Diziyi döngüye al foreach($a as $k=>$v){ //Sonucu stringe ekle ve işlemi tekrarlat $o .= $x.'[ '.$k.' ]=> '. array2string($v, $level+1) . $ln; } //Diziyi sonlandır $o .= $l.')'; //Sonucu çevir return $o; } /* * * Verilen değer kadar html olarak boşluk çevirir ascii * * @param int s * @return string */ function return2space($s){ $l = ''; for($i=0; $i<$s; $i++) $l .='&nbsp;'; return $l; } $a = Array ( 'deneme', arr1=>array( array( 'value1', variable=>'values2', 544545 ), 'values3', 5456, array( testk=>array(ka=>546, 'asdsada'), 45644564 ), 'assdasda' ), arr2=>array( array( 'value4', variable=>'values5', 544545 ), 'values6', 5456, array( testk=>array(ka=>546, 'asdsada'), 45644564 ), 'assdasda' ), 'asdsadsada', 544556 ); function m2sarray($a, $s = '_', $p = false){ if(!is_array($a)) return array(); $out = array(); $pre = ($p && $p != '')?$p.$s:''; foreach($a AS $k => $v){ $pkey = $pre.((is_int($k) && $pre == '')?$s.$k:$k); if(!is_array($v)) $out[$pkey] = $v; else{ $na = m2sarray($v, $s, $pkey); if(is_array($na)) $out = $out + $na; } } return $out; } echo '<pre>'; echo nl2br(array2string($a)); echo '<hr>'; echo nl2br(array2string(m2sarray($a, '.'))); echo '<hr>'; echo '</pre>'; ?>

« previous php.notes (#126072) next »