"Nikerabbit" posted a comment on MediaWiki.r110422.
URL: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/110422#c30378

Commit summary for MediaWiki.r110422:

followup r110262: fix results of http_build_query

Nikerabbit's comment:

Flattening arrays is not that hard. You could use one of these (not thoroughly 
tested):

<pre>
function flatten1( $a ) {
        do {
                $done = true;
                foreach ( $a as $key => $value ) {
                        if ( is_array( $value ) ) {
                                foreach ( $value as $subkey => $subvalue ) {
                                        $a[$key . "[$subkey]"] = $subvalue;
                                }
                                unset( $a[$key] );
                                $done = false;
                        }
                }
        } while( !$done );
        return $a;
}

function flatten2( $a, $first = true ) {
        foreach ( $a as $key => $value ) {
                if ( is_array( $value ) ) {
                        $value = flatten2( $value, false );
                        foreach ( $value as $subkey => $subvalue ) {
                                $newkey = $first ? $key . "[$subkey]" : 
"$key][$subkey";
                                $a[$newkey] = $subvalue;
                        }
                        unset( $a[$key] );
                }
        }
        return $a;
}
</pre>

Note that don't convert all values to strings.

_______________________________________________
MediaWiki-CodeReview mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-codereview

Reply via email to