Foros del Web » Programando para Internet » PHP »

Añadir valores a un array dentro de una función

Estas en el tema de Añadir valores a un array dentro de una función en el foro de PHP en Foros del Web. Código PHP: <?php header ( "Cache-Control: no-store, no-cache, must-revalidate" ); include( 'sphinxapi.php' ); include( 'config.php' ); $ini  =  0 ; $prints  =  5 ; $info_list_array  = Array(); function  show_related ...
  #1 (permalink)  
Antiguo 10/02/2012, 04:35
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 11 meses
Puntos: 3
Añadir valores a un array dentro de una función

Código PHP:
<?php
header
("Cache-Control: no-store, no-cache, must-revalidate");
include(
'sphinxapi.php');
include(
'config.php');
$ini 0;
$prints 5;
$info_list_array = Array();
function 
show_related($artist) {
    
$index "info_main";
    
$cl = new SphinxClient();
    
$cl->SetMatchModeSPH_MATCH_ALL );
    
$cl->SetSortMode SPH_SORT_RELEVANCE );
    
$cl->SetLimits($ini$prints);
    
$query=urldecode($artist);
    
$result $cl->Query$query$index );
    if ( 
$result === false ) {
        echo 
"Error en la query: " $cl->GetLastError() . ".\n";
    }
    else {
        if (
$cl->GetLastWarning()) {
            echo 
"Warning: " $cl->GetLastWarning();
        }
        if (empty(
$result["matches"])) {
            echo 
'<div>No hay informacion relacionada.</div>';
        }
        if (!empty(
$result["matches"])) {
            foreach ( 
$result["matches"] as $index => $info ) {
                
$info_list_array[] = $index;
                echo 
$index;
            }
        }
    }
}
show_related("docs");
show_related("videos");
print_r($info_list_array);
?>
El $info_list_array[] = $index; no me añade el valor a la array, como puedo hacer que esa función pueda gestionar esa array?

Gracias!
__________________
aste nagusia
  #2 (permalink)  
Antiguo 10/02/2012, 06:22
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 8 meses
Puntos: 47
Respuesta: Añadir valores a un array dentro de una función

Es que la funcion no reconoce el array porque esta afuera de si misma, lo que puedes hacer es o declarar la variable $info_list_array dentro de la funcion o pasar un array como parametro a tu funcion y pasarle justamente este array y despues ver la forma en que lo retornas.

Saludos
  #3 (permalink)  
Antiguo 10/02/2012, 06:35
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 11 meses
Puntos: 3
Respuesta: Añadir valores a un array dentro de una función

Cita:
Iniciado por djaevi Ver Mensaje
Es que la funcion no reconoce el array porque esta afuera de si misma, lo que puedes hacer es o declarar la variable $info_list_array dentro de la funcion o pasar un array como parametro a tu funcion y pasarle justamente este array y despues ver la forma en que lo retornas.

Saludos
No puedo declararla de tal manera que la función reconozca a la array?
__________________
aste nagusia
  #4 (permalink)  
Antiguo 10/02/2012, 07:01
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 8 meses
Puntos: 47
Respuesta: Añadir valores a un array dentro de una función

intenta añadir esta linea dentro de tu funcion.

global $info_list_array;

lo que hace esto es decirle a tu funcion que la variables $info_list_array es global. yo lo probe y funciona fijate si te da resultado.

Saludos
  #5 (permalink)  
Antiguo 10/02/2012, 08:32
 
Fecha de Ingreso: diciembre-2002
Ubicación: bilbao
Mensajes: 345
Antigüedad: 21 años, 11 meses
Puntos: 3
Respuesta: Añadir valores a un array dentro de una función

Cita:
Iniciado por djaevi Ver Mensaje
intenta añadir esta linea dentro de tu funcion.

global $info_list_array;

lo que hace esto es decirle a tu funcion que la variables $info_list_array es global. yo lo probe y funciona fijate si te da resultado.

Saludos
con eso perfecto!

gracias!!!
__________________
aste nagusia
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 22:33.