Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function deep_map_pairs($data = array()){
- $a = array();
- foreach ($data as $k => $v){
- if ($k == 'x_signature'){
- continue;
- }
- if (is_array($v) && array_keys($v) !== range(0, count($v) - 1)) {
- $b = array();
- $dmp = deep_map_pairs($v);
- $flatted_dmp = new RecursiveIteratorIterator(new RecursiveArrayIterator($dmp));
- foreach ($flatted_dmp as $p){
- $b[] = $k.$p;
- }
- $a[] = $b;
- } else if (is_array($v)){
- $b = array();
- foreach ($v as $c){
- $b[] = deep_map_pairs(array($k => $c));
- }
- $a[] = $b;
- } else {
- $a[] = $k.$v;
- }
- }
- return $a;
- }
- $f = array(
- "a"=> "a",
- "c"=> ["c"],
- "b"=> "b",
- "d"=> ["test" => "test"]
- );
- $new = deep_map_pairs($f);
- $flatted_new = new RecursiveIteratorIterator(new RecursiveArrayIterator($new));
- $array_flatted = [];
- foreach ($flatted_new as $p){
- $array_flatted[] = $p;
- }
- $compacted_af = array_filter($array_flatted, function($var){
- return ($var !== NULL && $var !== FALSE && $var !== "");
- });
- sort($compacted_af, SORT_REGULAR | SORT_FLAG_CASE);
- $imploded_str = implode('|', $compacted_af);
- echo print_r($imploded_str, true);
Add Comment
Please, Sign In to add comment