Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

184
Vistas
Cómo repetir solo algunos nombres de una lista, de forma limpia

Estoy usando el siguiente código para enumerar los primeros 7 nombres de una larga lista, para cada publicación. El problema es que cuando una determinada publicación contiene una lista de nombres inferior a 7, por cada nombre que falta hasta 7, automáticamente imprime una coma ','

Entonces, cuando los nombres son 7 o más, muestra correctamente: "nombre1, nombre2, nombre3, nombre4, nombre5, nombre6, nombre7" Mientras que, por ejemplo, si contiene solo 3 nombres, imprimirá: "nombre1, nombre2, nombre3, ,,"

¿Hay alguna forma de agregar algo en el código para excluir la impresión de comas en el caso de nombres menores a 7?

 <?php $value = get_post_meta($post->ID, 'list_of_names', true); $value_array = explode(',', $value); $hrefs = []; for($i = 0; $i < 7; $i++) { $remove_space = str_replace(' ', '-', $value_array[$i]); $url = esc_url('myblogurl' . $remove_space); if ('' !== $url) { $display = esc_html($value_array[$i]); $hrefs[] = "<a href='$url'>$display</a>"; } } echo implode(",", $hrefs); ?>

He estado tratando de agregar elseif($i < 6) { echo ','; antes del final, pero me informó una sintaxis de error del sistema :(

¿Algún consejo?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Limite su ciclo al tamaño de su $value_array, manteniendo también el límite de 7.

 for ($i = 0, $count = count($value_array); $i < 7 && $i < $count; $i++)

Otra forma de codificar la misma idea:

 for ($i = 0, $min = min(7, count($value_array)); $i < $min; $i++)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Tiene los 'valores' en una matriz, por lo que podría usar funciones de matriz.

 <?php $values = get_post_meta($post->ID, 'list_of_names', true); $value_array = explode(',', $values); $hrefs = []; foreach (array_slice($value_array,0,7) as $value) { $remove_space = str_replace(' ', '-', $value); $url = esc_url('myblogurl' . $remove_space); if ('' !== $url) { $display = esc_html($value); $hrefs[] = "<a href='$url'>$display</a>"; } } echo implode(",", $hrefs); ?>

Ver: array_slice()

Aconsejaría usar algo que no sea value como nombre de variable, si desea que otros entiendan de qué se trata su código.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda