Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
Obtenga el último elemento de una matriz para quitarle la coma

Tengo una función simple que muestra los valores seguidos de una coma.

 if ( $hasCoAuthors ) : foreach ( $co_authors as $co_author ) : $coAuthorDisplayName = $co_author->display_name; $coAuthor = '<span class="co-author">' . $coAuthorDisplayName . '</span>, '; echo $coAuthor; endforeach; endif;

¿Cómo obtener el último valor para eliminar la coma?

Agregué esta función:

 function endKey( $array ) { end( $array ); return key( $array ); }

Luego agregué esto en mi función:

 if ( endKey( $co_authors ) ) : $coAuthor = '<span class="co-author">' . $coAuthorDisplayName . '</span>'; endif;

Pero no funciona, elimina las comas de todos los valores.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Está imprimiendo valor cada vez que no es necesario, concáctelos en una variable de cadena y luego imprímalo una vez que finalice el ciclo usando rtrim() para eliminar la última coma.

Debe corregir el código de bucle como se muestra a continuación:

 if ( $hasCoAuthors ) : $coAuthor = ''; foreach ( $co_authors as $co_author ) : $coAuthor .= '<span class="co-author">' . $co_author->display_name . '</span>, '; endforeach; echo rtrim($coAuthor, ','); endif;
over 4 years ago · Santiago Trujillo Report

0

Cree el html en una cadena, luego recorte la coma final usando trim() antes de repetirlo una vez cuando se complete el ciclo.

 if ( $hasCoAuthors ) : $coAuthor = ''; foreach ( $co_authors as $co_author ) : $coAuthor .= '<span class="co-author">' . $co_author->display_name . '</span>, '; endforeach; echo rtrim($coAuthor, ','); endif;

O como sugiere @CBroe

 if ( $hasCoAuthors ) : $coAuthor = ''; foreach ( $co_authors as $k => $co_author ) : if ($k > 0 ) { $coAuthor .= ',' } $coAuthor .= '<span class="co-author">' . $co_author->display_name . '</span>'; endforeach; echo $coAuthor; endif;
over 4 years ago · Santiago Trujillo Report

0

Si las claves son numéricas (0, 1, 2, etc.), puede usar simplemente este código para agregar , a 2nd y otros.

 if ( $hasCoAuthors ) : foreach ( $co_authors as $key => $co_author ) : $coAuthor = ''; if ($key > 0) { $coAuthor = ', '; } $coAuthorDisplayName = $co_author->display_name; $coAuthor .= '<span class="co-author">' . $coAuthorDisplayName . '</span>, '; echo $coAuthor; endforeach; endif;

La segunda forma es poner valores en array y usar implode .

 if ( $hasCoAuthors ) : $coAuthors = []; foreach ( $co_authors as $key => $co_author ) : $coAuthorDisplayName = $co_author->display_name; $coAuthors[] = '<span class="co-author">' . $coAuthorDisplayName . '</span>'; endforeach; echo implode(', ', $coAuthors); endif;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!