Foros del Web » Programando para Internet » PHP »

invertir order del resultado de una suma

Estas en el tema de invertir order del resultado de una suma en el foro de PHP en Foros del Web. Hola mirar tengo un problema resulta que quiero contar los comentarios en wordpress usando el siguiente codigo con los comentarios mostrados en orden ascendente: Código: ...
  #1 (permalink)  
Antiguo 28/11/2009, 16:11
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
invertir order del resultado de una suma

Hola mirar tengo un problema resulta que quiero contar los comentarios en wordpress usando el siguiente codigo con los comentarios mostrados en orden ascendente:
Código:
<?php
function rcount ($array) {
  $count = 0; // define el valor inicial
  $lcount = 1; // resta 1 al resultado ya que contaba el 0
  if (is_array($array)) {
    foreach($array as $id=>$sub) {
    if (!is_array($sub)) { $counts; }
     else { $count = ($count + rcount($sub) - 1); }
    }
    return $count;
  }
  return FALSE;
}
?>
Este codigo lo pongo antes de
Código:
<?php if ($comments) : ?>
Luego añado lo siguiente:
Código:
<?php $comments = array_reverse($comments, true); ?>
	<?php foreach ($comments as $comment) : $counts = $count++; ?>
para invertir el orden de los comentarios y definir el contador.
Luego añado este codigo para mostrar el resultado:
Código:
<?php echo $count; ?>
Y aqui tengo el problema ya que me muestra los numeros pero resulta que quiero mostrarlo al reves que el 1 sea el ultimo y asi progresivamente.
Se os ocurre como puedo cambiarlo?
Gracias!!
  #2 (permalink)  
Antiguo 28/11/2009, 19:41
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: invertir order del resultado de una suma

<?php $commentz[] = $comments; ?>
<?php
foreach($commentz as $comment){
$counts = $count++;
}
?>


<?php echo array_reverse($count, TRUE); ?>
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 28/11/2009, 19:54
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: invertir order del resultado de una suma

Gracias por contestar tan rapido pero me tira un error de endforeach
Código:
Parse error: syntax error, unexpected T_ENDFOREACH in
  #4 (permalink)  
Antiguo 28/11/2009, 20:00
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: invertir order del resultado de una suma

modificaste algo al code que te puse?

te falta endforeach; al final del foreach. (Eso indica el error)
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 28/11/2009, 20:06
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: invertir order del resultado de una suma

No lo copie debajo de
Código:
<?php $comments = array_reverse($comments, true); ?>
y luego cambie el echo $count por el que me dejastes.
Y el endforeach se cierra mas abajo.
  #6 (permalink)  
Antiguo 28/11/2009, 20:28
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: invertir order del resultado de una suma

mira te hice un ejemplo:

<?php
$f=array(1,2,3,4,5,6,7,8,9);
foreach($f as $g){
$conta[] = $g;
}

print_r(array_reverse($conta));
?>

adaptalo a tus necesidades. Saludos
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 29/11/2009, 05:06
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: invertir order del resultado de una suma

Gracias por responderme!!
Pero mis conocimientos no llegan a tanto para poder adaptarlo pero seguire investingado...
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 22:16.