Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

188
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda