Foros del Web » Programando para Internet » PHP »

Imprimir arrays con un for

Estas en el tema de Imprimir arrays con un for en el foro de PHP en Foros del Web. Bueno tengo un dilema y no he sabido resolverlo, creo que es más falta de ingenio que otra cosa, a ver si me hechan un ...
  #1 (permalink)  
Antiguo 15/10/2010, 01:44
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Imprimir arrays con un for

Bueno tengo un dilema y no he sabido resolverlo, creo que es más falta de ingenio que otra cosa, a ver si me hechan un cable.

tengo el siguiente codigo

Código PHP:
$links $_POST['web'];// recibo lista de links por metodo post
$links explode(','$links);//los separo
for($i=0;$i<count($links);$i++)//hago un ciclo que analiza cada link
{    
    
$cadena trim($links[$i]);//quito espacios
    
$source file_get_contents($cadena);//abro link
    
$parser '|file=(.*?)&logo|is'//expresion regular chafa
    
$embed '';//declaro la variable
    
preg_match_all($parser$source$embed);//extraigo todas las coincidencias o algo asi
        
echo $i+."- ".$embed[1][0];//imprimo
        
echo $i+."- ".$embed[1][1];//imprimo
        
echo $i+."- ".$embed[1][2];//imprimo

bueno mi problema viene al imprimir los arrays
quiero imprimir apartir de [1][0] hasta que se acaben si son 3 hasta [1][2]
si son 25 hasta [1][24], etc. se que es con un ciclo, pero no se que parametros ponerle.

por ejemplo

Código PHP:
Ver original
  1. for($j=0; $i<count($embed); $j++)
  2. {
  3.     echo $embed[1][$j]
  4. }

pero no se como contar la cantidad de subarrays en el array 1.



gracias por cualquier aclaracion, preferirira que me explicaran sobre mi falta de conocimiento a cualquier codigo solutivo, gracias
  #2 (permalink)  
Antiguo 15/10/2010, 01:59
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Imprimir arrays con un for

No entiendo muy bien que haces con los links dentro del bucle, ¿es un array multidimensional? ¿no era una lista de links? Pon un ejemplo práctico de una lista de links y lo que te gustaría que se mostrara por pantalla.
  #3 (permalink)  
Antiguo 15/10/2010, 02:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Imprimir arrays con un for

Cita:
Iniciado por memoadian Ver Mensaje
bueno mi problema viene al imprimir los arrays
quiero imprimir apartir de [1][0] hasta que se acaben si son 3 hasta [1][2]
si son 25 hasta [1][24], etc. se que es con un ciclo, pero no se que parametros ponerle.

por ejemplo

Código PHP:
Ver original
  1. for($j=0; $i<count($embed); $j++)
  2. {
  3.     echo $embed[1][$j]
  4. }

pero no se como contar la cantidad de subarrays en el array 1.



gracias por cualquier aclaracion, preferirira que me explicaran sobre mi falta de conocimiento a cualquier codigo solutivo, gracias
Para eso usa el count que usas pero cogiendo también la primera parte del array, es decir:
Código PHP:
for($j=0$j<count($embed[1]); $j++)
{
    echo 
$embed[1][$j]

  #4 (permalink)  
Antiguo 15/10/2010, 06:37
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Imprimir arrays con un for

Cita:
Iniciado por Vun Ver Mensaje
No entiendo muy bien que haces con los links dentro del bucle, ¿es un array multidimensional? ¿no era una lista de links? Pon un ejemplo práctico de una lista de links y lo que te gustaría que se mostrara por pantalla.

lo que pasa es que estoy extrayendo todas las coincidencias de los links de una lista de links, por eso cada link tiene como 3 coincidencias pero no en todas pasa, por eso a veces se hace multidimensional, e imprimo solo el array [1][$j] por que el cero no me sirve.


Gracias Vallu, ha quedado perfecto, creo que más o menos entiendo por que se coloca todo eso, de hecho lo entiendo XD, + karma

Etiquetas: arrays
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 10:45.