Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2009, 14:01
albertt_t
 
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