Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Valor devuelto por una función

Estas en el tema de Valor devuelto por una función en el foro de PHP en Foros del Web. Tengo una duda respecto al funcionamiento de PHP y las funciones. Supongamos que tengo un array con el siguiente contenido: Código: array(41) { [0]=> int(4) ...
  #1 (permalink)  
Antiguo 25/04/2016, 02:26
Avatar de senseeye3led  
Fecha de Ingreso: abril-2016
Ubicación: 127.0.0.1
Mensajes: 163
Antigüedad: 8 años
Puntos: 11
Pregunta Valor devuelto por una función

Tengo una duda respecto al funcionamiento de PHP y las funciones.

Supongamos que tengo un array con el siguiente contenido:

Código:
array(41) { [0]=> int(4) [1]=> int(18) [2]=> int(32) [3]=> int(59) [4]=> int(67) [5]=> int(84) [6]=> int(186) [7]=> int(188) [8]=> int(189) [9]=> int(190) [10]=> int(191) [11]=> int(192) [12]=> int(193) [13]=> int(194) [14]=> int(197) [15]=> int(198) [16]=> int(229) [17]=> int(230) [18]=> int(938) [19]=> int(945) [20]=> int(946) [21]=> int(1019) [22]=> int(1296) [23]=> int(1297) [24]=> int(1298) [25]=> int(1300) [26]=> int(1301) [27]=> int(1302) [28]=> int(1303) [29]=> int(1304) [30]=> int(1305) [31]=> int(1385) [32]=> int(1386) [33]=> int(1387) [34]=> int(1388) [35]=> int(1390) [36]=> int(1395) [37]=> int(1433) [38]=> int(1434) [39]=> int(1445) [40]=> int(1446) }
El contenido del array hace referencia al número de fila N-sima de una DB que quiero tratar.

Para ello utilizo el siguiente código: ($logi será el array que contiene las posiciones de las filas a mostrar).

Código:
if( count($logi) > 0 ) //¿hay elementos en el logi?//
	{
		foreach ($logi as $valor)
		{
			$busca = $valor;
			if ( ($busca) != -1 )
			{
				$sql_4 = "SELECT * FROM tbl";
				$rs = odbc_exec( $conn, $sql_4 );
				if ( !$rs )
				{exit( "Error en la consulta SQL" );}
				else{
					$objBusca = odbc_fetch_object( $rs, $busca+1 );
					$valor_a_buscar = $objBusca->refArticulo;
				}
			return $valor_a_buscar;
			}
			else{
				$valor_a_buscar = "NO_EXISTE_CADENA";
				return $valor_a_buscar;
			}
		}
	}
	else{$busca = -1;} //no hay elementos
El valor que devuelve la función es el primero del array que paso.
¿Hay una posibilidad de que trate todos los elementos del array? Se sabe que los valores_a_buscar son las posiciones en la DB que contiene el vector logi en su interior.

Un saludo,
  #2 (permalink)  
Antiguo 25/04/2016, 04:23
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Valor devuelto por una función

Buenas,

En el momento que se ejecuta "return", la función termina...

Si quieres que el foreach trate TODOS los elementos del array, tendrás que sacar el return del foreach.
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 25/04/2016, 08:46
Avatar de senseeye3led  
Fecha de Ingreso: abril-2016
Ubicación: 127.0.0.1
Mensajes: 163
Antigüedad: 8 años
Puntos: 11
Respuesta: Valor devuelto por una función

Cita:
Iniciado por Eleazan Ver Mensaje
Buenas,

En el momento que se ejecuta "return", la función termina...

Si quieres que el foreach trate TODOS los elementos del array, tendrás que sacar el return del foreach.
Gracias,
Resuelto, devolveré en la función el vector actualizado con el contenido y después fuera de la función trataré el vector elemento a elemento ;)

Etiquetas: select, sql, valor
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 07:36.