Foros del Web » Programando para Internet » PHP »

Problema al cargar array externo dentro de funcion

Estas en el tema de Problema al cargar array externo dentro de funcion en el foro de PHP en Foros del Web. Saludos Amigos, tengo el siguiente Codigo que hace una busqueda dentro de un array Código PHP:     header ( 'Content-type: text/plain' );      $search_queries  =  initArray (); ...
  #1 (permalink)  
Antiguo 05/07/2009, 14:01
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Problema al cargar array externo dentro de funcion

Saludos Amigos,

tengo el siguiente Codigo que hace una busqueda dentro de un array

Código PHP:

    header
('Content-type: text/plain');
    
$search_queries initArray();
    
$query $_GET['query'];
    
$results search($search_queries$query);
    
sendResults($query,$results);

        
    
function 
search($search_queries$query) {
    if (
strlen($query) == 0)
        return;

    
$query strtolower($query);

    
$firstChar $query[0];

    if (!
preg_match('/[0-9a-z]/',$firstChar,$matches))
        return;

    
$charQueries $search_queries[$firstChar];

    
$results = array();

    for(
$i 0$i count($charQueries); $i++) {
        if (
strcasecmp(substr($charQueries[$i],0,strlen($query)),$query) == 0)
            
$results[] = $charQueries[$i];
    }

    return 
$results;
}

function 
sendResults($query,$results) {
    for (
$i 0$i count($results); $i++)
        print 
"$results[$i]\n";
}

function 
initArray() {
    
    
return array(
  
'z'=> array("ZippyGirls"
"Zippy Girls"
"ZebAtlas"
"Zeb Atlas"
"ZoliGirls"
"Zoli Girls"
"ZalSu - Adult Video Search Engine"
"Zombaio"
"Zombaio.com"
), 
);



En la funcion InitArray esta un array de datos.

Yo quiero generar ese array dinamicamente desde otro archivo.
al cual llamo diccionario.php

Código PHP:

echo "return array(";
foreach( 
range('a','z') as $palabra )
{
  


        
$query="select titulo from titulo where title like '$palabra%'"
        
$result=mysql_query($query,$con) or die(mysql_error($con));
        
        
        
        echo 
"'".$palabra."'"."=> array(";
        
        while(
$row=mysql_fetch_array($result))
        {
        
        
$tituloconcomillas=addslashes($row['title']);
        
        
$titulo str_replace(array("'",'"'),"",$tituloconcomillas);
        
        
$separar explode(',',$titulo);
        
        if(!empty(
$separar[0]))    
        echo  
'"'.trim($separar[0]).'"'.", \n" 
                
        }
        
        echo 
"), \n  ";
}



foreach( 
range(0,9) as $numero )
{
  


        
$query="select title from titulo where title like '$numero%'"
        
$result=mysql_query($query,$con) or die(mysql_error($con));
        
        
        
        echo 
"'".$numero."'"."=> array(";
        
        while(
$row=mysql_fetch_array($result))
        {
        
        
$tituloconcomillas=addslashes($row['title']);
        
        
$titulo str_replace(array("'",'"'),"",$tituloconcomillas);
        
        
$separar explode(',',$titulo);
        
        if(!empty(
$separar[0]))    
        echo  
'"'.trim($separar[0]).'"'.", \n" 
        
        
        }
        
        echo 
"), \n  ";
}

echo 
" ); "
Hasta aqui todo ok. El problema es el siguiente:

Cuando quiero generar ese array dinamicamente desde otro el file diccionario.php

no me genera el array, lo arroja como si todo fuera una cadena en la variable $output.

Código PHP:

function initArray() {
    
    
    
    
        
$ch curl_init("diccionario.php");
        
curl_setopt($chCURLOPT_HEADER0);
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$output curl_exec($ch);       
        
curl_close($ch);
       
echo (
$output); 

Lo que quiero es generar ese array desde un archivo externo.

Alguien me puede dar orientar? que estoy haciendo mal?

salu2
  #2 (permalink)  
Antiguo 05/07/2009, 14:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar array externo dentro de funcion

es obvio, ya que literalmente no estas creando un array() sino una cadena !!

lo mejor, es devolver directamente el array() sin tener que "reescribirlo" o bien, usa eval()

u otra, guarda todo como texto plano (no como PHP) y obten el array() usando file()

y si lo escribes como código PHP, puedes usar include() para devolver el arreglo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 19:49.