Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2009, 14:01
albertt_t
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 22 años
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($ch, CURLOPT_HEADER, 0);
        
curl_setopt($ch, CURLOPT_POST, 1);
        
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
$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