Foros del Web » Programando para Internet » PHP »

Consulta por array()

Estas en el tema de Consulta por array() en el foro de PHP en Foros del Web. Hola, necesito saber si me pueden dar una ayuda con esto, no se si tengo que usar un array() o que cosa. Tengo esto : ...
  #1 (permalink)  
Antiguo 21/08/2009, 11:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Consulta por array()

Hola, necesito saber si me pueden dar una ayuda con esto, no se si tengo que usar un array() o que cosa.

Tengo esto :

$arrUrlList = ""; // Luego de próximo preg_match_all, este array quedará completo con valores como "http://www.google.com 10"
$cantidadUrls = preg_match_all("/http[^ ]* *[^ ]*/", $strBloqueImportante, $arrUrlList);

Donde el array en este caso me devuevle (esto es un ejemplo, siempre devuelve diferente logicamente)

Array ( [0] => Array ( [0] => http://dodd.senate.gov/?q=node/3363/print N/A [1] => http://dodd.senate.gov/?q=node/5048/print N/A [2] => http://recovery.gov/?q=node/203 6 [3] => http://ncxt.lbl.gov/?q=node/58/print 3 [4] => http://www.amigos.org/?q=node/313 N/A [5] => http://www.monroecounty.gov/?q=node/2808/communications N/A [6] => http://ncxt.lbl.gov/?q=node/19/print 4 [7] => http://www.monroecounty.gov/?q=node/3246 0 [8] => http://www.dip.gov.bd/?q=node/32 4 [9] => http://www.recovery.gov/?q=node/265 5 ) )

Donde :
Array[0] devuelve : http://dodd.senate.gov/?q=node/3363/print N/A
Array[1] devuelve : http://dodd.senate.gov/?q=node/5048/print N/A
Array[2] devuelve : http://recovery.gov/?q=node/203 6
etc,etc

Lo que necesito hacer es que me lo ordene pero cambiando una cosa. si miran despues de cada url hay un espacio y un numero o un N/A. En estos ejemplos en los dos pirmeros aparecen un N/A y en el tecero un 6.
Lo que necesitaria como resultado es
Array[0] devuelve : N/A http://dodd.senate.gov/?q=node/3363/print
Array[1] devuelve : N/A http://dodd.senate.gov/?q=node/5048/print
Array[2] devuelve : 6 http://recovery.gov/?q=node/203

Ese seria el resultado que necesito para cada uno, o sea cambiar de lugar lo que viene despues del espacio y pasarlo adelante que siempre va a ser un N/A o un numero del 1 al 9.

Gracias por la ayuda
  #2 (permalink)  
Antiguo 21/08/2009, 11:45
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Consulta por array()

si entendi bien, tu lo que quieres es que invierta esos dos valores que tienes en la cadena de la url, si es asi puedes probar lo siguiente:

Array[0]=>"http://dodd.senate.gov/?q=node/3363/print N/A"
$tmp=explode(" ",Array[0]);
Array[0]=$tmp[1]." ".$temp[0]

prueba con eso, sino es lo que buscabas estamos aqui para mas detalles

suerte
  #3 (permalink)  
Antiguo 21/08/2009, 11:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Hola, o no lo entiendo lo que me pasaste o no me sirve eso. Alguien tiene otra solucion

Gracias

Agrego una cosa mas.

Si a la variable donde esta el array , la meto en un foreach me devuelve esto :

foreach ($arrUrlList[0] as &$item)
{
echo $item . "<br />";
}

Devuelve esto :

http://dodd.senate.gov/?q=node/3363/print N/A<br />http://dodd.senate.gov/?q=node/5048/print N/A<br />http://recovery.gov/?q=node/203 6<br />http://ncxt.lbl.gov/?q=node/58/print 3<br />http://www.amigos.org/?q=node/313 N/A<br />http://www.monroecounty.gov/?q=node/2808/communications N/A<br />http://ncxt.lbl.gov/?q=node/19/print 4<br />http://www.monroecounty.gov/?q=node/3246 0<br />http://www.dip.gov.bd/?q=node/32 4<br />http://www.recovery.gov/?q=node/265 5<br />

Puede que ayude en algo eso ? Lo que pasa tampoco se como guardar esto que esta mostrando en una variable desde el foreach. Pero la verdad que no se si es mejor o no usar ahora o despues el foreach, yo lo que necesito es colocar el numero ese o el N/A adelante de cada url.

Gracias

Última edición por GatorV; 21/08/2009 a las 14:08
  #4 (permalink)  
Antiguo 21/08/2009, 13:57
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Consulta por array()

con lo que yo te pase hace exactamente eso, mas concretamente trata de hacerlo asi:

tienes tu variable:
Código PHP:
$array[0]='http://dodd.senate.gov/?q=node/3363/print N/A';
$array[1]='http://dodd.senate.gov/?q=node/5048/print N/A';
$array[2]='http://recovery.gov/?q=node/203 6';
for(
$i=0$i<count($array);$i++){
    
$tmp=explode(" ",$array[$i]);
    
$url=$tmp[1]." ".$tmp[0];
    echo 
$url."<br />";

prueba con eso suerte

Última edición por lair; 21/08/2009 a las 14:06
  #5 (permalink)  
Antiguo 21/08/2009, 14:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Consulta por array()

Si paso lo que me diste funciona perfecto, pero cuando le pongo la variable mia me devuelve solo Array

La variable $arrUrlList me imprime esto :

Array ( [0] => Array ( [0] => http://dodd.senate.gov/?q=node/3363/print N/A [1] => http://dodd.senate.gov/?q=node/5048/print N/A [2] => http://recovery.gov/?q=node/203 6 [3] => http://ncxt.lbl.gov/?q=node/58/print 3 [4] => http://www.amigos.org/?q=node/313 N/A [5] => http://www.monroecounty.gov/?q=node/2808/communications N/A [6] => http://ncxt.lbl.gov/?q=node/19/print 4 [7] => http://www.monroecounty.gov/?q=node/3246 0 [8] => http://www.dip.gov.bd/?q=node/32 4 [9] => http://www.recovery.gov/?q=node/265 5 ) )

y en el for() que me pasaste no me devuelve nada :

for($i=0; $i<count($arrUrlList);$i++)
{
$tmp=explode(" ",$arrUrlList[$i]);
$url=$tmp[1]." ".$tmp[0];
echo $url."<br />";
}

Gracias a quien me pueda ayudar

Última edición por nicoduca; 21/08/2009 a las 14:51
  #6 (permalink)  
Antiguo 21/08/2009, 14:52
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Consulta por array()

Puedes colocar lo que te retorne esto:

echo("<pre>");
print_r($arrUrlList);
echo("</pre>");

para ver como tienes estructirada tu variable, porfa
  #7 (permalink)  
Antiguo 21/08/2009, 15:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 77
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Consulta por array()

Hola , me devuelve esto :

Array
(
[0] => Array
(
[0] => http://dodd.senate.gov/?q=node/3363/print N/A
[1] => http://dodd.senate.gov/?q=node/5048/print N/A
[2] => http://recovery.gov/?q=node/203 6
[3] => http://ncxt.lbl.gov/?q=node/58/print 3
[4] => http://www.amigos.org/?q=node/313 N/A
[5] => http://www.monroecounty.gov/?q=node/2808/communications N/A
[6] => http://ncxt.lbl.gov/?q=node/19/print 4
[7] => http://www.monroecounty.gov/?q=node/3246 0
[8] => http://www.dip.gov.bd/?q=node/32 4
[9] => http://www.recovery.gov/?q=node/265 5
)

)

Gracias por la ayuda
  #8 (permalink)  
Antiguo 23/08/2009, 12:47
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Consulta por array()

prueba con esto:

for($i=0; $i<count($arrUrlList);$i++)
{
$tmp=explode(" ",$arrUrlList[0][$i]);
$url=$tmp[1]." ".$tmp[0];
echo $url."<br />";
}

suerte
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 04:25.