Foros del Web » Programando para Internet » PHP »

Ayuda en Convertir Cadena en Array

Estas en el tema de Ayuda en Convertir Cadena en Array en el foro de PHP en Foros del Web. Que tal comunidad: Les cuento que estoy haciendo un menú dinámico que es de la forma: Código: $MenuGeneral = array("SubMenu1"=>array("Noticia1","Noticia2"), "SubMenu2"=>array("Noticia3","Noticia4"), ); Como es dinámico ...
  #1 (permalink)  
Antiguo 06/03/2010, 18:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación Ayuda en Convertir Cadena en Array

Que tal comunidad:

Les cuento que estoy haciendo un menú dinámico que es de la forma:

Código:
$MenuGeneral = array("SubMenu1"=>array("Noticia1","Noticia2"),
                "SubMenu2"=>array("Noticia3","Noticia4"),
            );
Como es dinámico no se sabe exactamente cuantos submenus o noticias tendrá el menú general. Por lo que lo llene como si fuera una cadena.

La cadena queda exactamente como la estructura que necesito para mi menú (la de arriba). El problema radica que al pasar la variable $MenuGeneral me lo reconoce como cadena y no como un array.

Por lo que mi pregunta seria si puedo convertir o como puedo hacer que mi cadena que tiene la estructura de un array se me reconozca como array y no como cadena.

Espero puedan ayudarme y desde ya muchas gracias por su atención.

Última edición por dante_cp; 06/03/2010 a las 18:52 Razón: Mi codigo tenia errores
  #2 (permalink)  
Antiguo 06/03/2010, 20:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 2 meses
Puntos: 1517
Respuesta: Ayuda en Convertir Cadena en Array

a mí me la reconoció como un array y no como cadena.
Código PHP:
Ver original
  1. <?php
  2. $MenuGeneral = array("SubMenu1"=>array("Noticia1","Noticia2"),
  3.                 "SubMenu2"=>array("Noticia3","Noticia4")
  4. );
  5. var_dump($MenuGeneral);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 06/03/2010, 20:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Convertir Cadena en Array

No, no me refería a eso. Después de llenar mi arreglo dinámico, me queda como una cadena, dicho de otra forma es como si directamente hiciera lo siguiente:

Código:
$MenuGeneral = ' array("SubMenu1"=>array("Noticia1","Noticia2"),
                "SubMenu2"=>array("Noticia3","Noticia4"),
          ); ';
Es por eso que quiero llevar la cadena anterior a un array (como el del inicio de mi post), pero no se me ocurre forma alguna.

Espero esta vez haberme explicado correctamente y gracias por tu ayuda :D
  #4 (permalink)  
Antiguo 06/03/2010, 20:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 2 meses
Puntos: 1517
Respuesta: Ayuda en Convertir Cadena en Array

Pues vas a tener que postear que estas haciendo para crearla.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 06/03/2010, 20:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Convertir Cadena en Array

De acuerdo, lo que hago exactamente es:

Código:
function cargarMenu (){
		$db = new database(DB_USER, DB_PSWD, DB_NAME, DB_HOST);
		
		global $ar_menu;
		$ar_menu = 'array ("Inicio"=>array(),';
		
		$resultM = $db->query("SELECT id, titulo FROM menus");
		
		while ($menu = mysql_fetch_array($resultM)){
			$ar_menu .= '"'.$menu['titulo'].'"=>array(';
			
			$resultA = $db->query("SELECT articulos.titulo, articulos.id FROM articulos INNER JOIN menus ON menus.id = idmenu AND idmenu = ".$menu['id']."");
			
			while ($articulos = mysql_fetch_array($resultA)){
				$ar_menu .= '"'.$articulos['titulo'].'"=>"index.php?c=main&a=mostrarArticulo&id='.$articulos['id'].'",';
			}

			//Elimina la ultima coma que le sobra al ultimo registro insertado
			$ar_menu = substr ($ar_menu, 0, strlen($ar_menu) - 1);
			$ar_menu .= '),';
		}
		
		$ar_menu .= ');';
	}
Esa fue la forma en la que se me ocurrió crear un array dinámico, el problema es que me lo crea como cadena de texto y no como array que es la forma en la que lo requiero.
  #6 (permalink)  
Antiguo 06/03/2010, 21:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 12 años, 2 meses
Puntos: 1517
Respuesta: Ayuda en Convertir Cadena en Array

El problema es que estas creando una cadena en vez de array. Necesitas declararlo como array y no como cadena. En otras palabras estas usando los signos de comillas y no debes hacerlo así. Para crear un array solo tienes que llamarlo algo así:
Código PHP:
Ver original
  1. $variable = array();
  2. $variable["inicio"]["titulo"] = "valor del titulo";
  3. $variable["inicio"]["descripcion"] = "valor de la descripción";
Basate en eso y si quieres más información te sugiero que leas este manual para que tengas más idea.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:55.