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(1, 2, 1, 4, 1, 6);
$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
*/