3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array("/Expurgo", "/Famosos e Etc/Ego", "/Famosos e Etc/Ego/40 Graus", "/Famosos e Etc/Ego/40 Graus/Home", "/Famosos e Etc/Ego/Beleza", "/Famosos e Etc/Ego/Beleza/Home", "/Famosos e Etc/Ego/Carnaval", "/Famosos e Etc/Ego/Especiais/Avon", "/Famosos e Etc/Ego/Especiais/Dia das Maes", "/Famosos e Etc/Ego/Especiais/Lollapalooza", "/Famosos e Etc/Ego/Especiais/Lollapalooza/Home", "/Famosos e Etc/Ego/Especiais/Loreal", "/Famosos e Etc/Ego/Especiais/Malwee", "/Famosos e Etc/Ego/Especiais/Natal", "/Famosos e Etc/Ego/Especiais/Pascoa", "/Famosos e Etc/Ego/Especiais/Rock in Rio", "/Famosos e Etc/Ego/Especiais/Rock in Rio/Home", "/Famosos e Etc/Ego/Especiais/The Body Shop", "/Famosos e Etc/Ego/Gravidez", "/Famosos e Etc/Ego/Gravidez/Home", "/Famosos e Etc/Ego/Home", "/Famosos e Etc/Ego/Horoscopo", "/Famosos e Etc/Ego/Horoscopo/Home", "/Famosos e Etc/Ego/Moda", "/Famosos e Etc/Ego/Moda/Home", "/Famosos e Etc/Ego/Teen", "/Famosos e Etc/Ego/Teen/Home", "/Famosos e Etc/Home", "/G1/Agronegocios", "/G1/Agronegocios/Home", "/G1/Bem Estar", "/G1/Bem Estar/Home", "/G1/Blogs e Colunas", "/G1/Blogs e Colunas/Altieres Rohr", "/G1/Blogs e Colunas/Alysson Muotri", "/G1/Blogs e Colunas/Andrea Ramal", "/G1/Blogs e Colunas/Bruno Medina", "/G1/Blogs e Colunas/Cassio Barbosa", "/G1/Blogs e Colunas/Cristina Lobo", "/G1/Blogs e Colunas/Geneton Moraes Neto", "/G1/Blogs e Colunas/Luciano Trigo", "/G1/Blogs e Colunas/Paulo Coelho", "/G1/Blogs e Colunas/Redacao", "/G1/Blogs e Colunas/Ronaldo Prass", "/G1/Blogs e Colunas/Sergio Nogueira", "/G1/Blogs e Colunas/Startup", "/G1/Blogs e Colunas/Thais Heredia", "/G1/Blogs e Colunas/Viver Noronha", "/G1/Blogs e Colunas/Yvonne Maggie", "/G1/Blogs e Colunas/Zeca Camargo", "/GE", "/GE/Futebol", "/GE/Futebol/Especiais", "/GE/Futebol/Especiais/Home"); $return_array = array(); $temp_array = array(); foreach ($array as $key => $values) { echo substr($values, strrpos($values, "/")) . "\n\n"; continue; $part = explode("/", $values); // Separa o ultimo noh $last_node = array_pop($part); // Se tem mais de um item junta o array if (count($part) > 1){ $parent_id = implode("/", $part); } else { // Senao pega a unica posicao $parent_id = $part[0]; } end($part); while ($level = prev($part)) { $return_array[] = array( "id" => $values, "parent" => $parent_id, "text" => $last_node ); } } echo json_encode($return_array);

preferences:
39.29 ms | 402 KiB | 5 Q