Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/01/2010, 09:46
Avatar de julianmejio
julianmejio
 
Fecha de Ingreso: agosto-2005
Ubicación: Medellín, Antioquia
Mensajes: 88
Antigüedad: 19 años, 2 meses
Puntos: 3
Respuesta: Ver valores de un array con keys sacadas de otro array

Bueno, tal vez estas dos funciones te ayuden a solucionar tu problema:
Están dentro de una implementación para comprenderlas mejor.

Código PHP:
$numeros = array(121416);
$palabras = array('a''b''c''d''a''f');

/**
 * Obtiene los valores con el número índice.
 * @param int $NumeroIndice Número índice en el arreglo de números.
 * @param int[] $Numeros Arreglo con los números.
 * @param String[] $Palabras Palabras.
 */
function obtenerValores($NumeroIndice$Numeros$Palabras)
{
    
$resultado = array();
    for(
$i 0$i count($Numeros); $i++)
        if(
$Numeros[$i] == $NumeroIndice// Si coincide el índice con el número índice requerido
            
$resultado[] = $Palabras[$i]; // Agregar la palabra correspondiente en el resultado.
    
return $resultado;
}

/**
 * Obtiene las ubicaciones con el índide igual.
 * @param int $NumeroIndice Número de índice buscado.
 * @param int[] $Numeros Arreglo con los números índice.
 * @return int[] Devuelve un arreglo con la ubicación de los números índice.
 */
function obtenerUbicacionIguales($NumeroIndice$Numeros)
{
    
$resultado = array();
    for(
$i 0$i count($Numeros); $i++)
        if(
$Numeros[$i] == $NumeroIndice// Si el número índice buscado es igual al índice en la posición actual
            
$resultado[] = $i// Agregar la posición / ubicación en el resultado.
    
return $resultado;
}

// Número índice
$numeroIndice 1;

// Obtener el arreglo con las ubicaciones que tienen el número índice.
$ubicacionLineas obtenerUbicacionIguales(1$numeros);

// Obtener las palabras asociadas con el número índice.
$letrasIndice obtenerValores($numeroIndice$numeros$palabras);

// [Lógica de estilo] Crear una cadena imprimible que contenga las posiciones con el número índice.
$strUbicacionLineas '';
foreach(
$ubicacionLineas as $ubicacionLinea)
    
$strUbicacionLineas .= " $ubicacionLinea";


// Imprimir el resultado.
echo "$numeroIndice => está en las líneas $strUbicacionLineas<br/>";
echo 
"$numeroIndice => contiene las palabras:<br />";
foreach(
$letrasIndice as $letraIndice)
    echo 
"$letraIndice<br />";

/**
 * Devuelve:
 * 1 => está en las líneas 0 2 4
 * 1 => contiene las palabras:
 * a
 * c
 * a
 */