php - 获取数组的最后一个元素以从中删除逗号

标签 php foreach

我有一个简单的函数,可以显示后面跟有逗号的值。

if ( $hasCoAuthors ) :
        
    foreach ( $co_authors as $co_author ) :

        $coAuthorDisplayName = $co_author->display_name;
        $coAuthor = '<span class="co-author">' . $coAuthorDisplayName . '</span>, ';

        echo $coAuthor;

    endforeach;

endif;

如何获取最后一个值并从中删除逗号?

我添加了这个功能:

function endKey( $array ) {

    end( $array );
    return key( $array );

}

然后我将其添加到我的函数中:

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

但它不起作用,它会从所有值中删除逗号。

最佳答案

您每次都会打印值,这是不必要的,请将它们连接到一个字符串变量中,然后在循环结束后使用 rtrim() 删除最后一个逗号来打印它。

您需要更正循环代码,如下所示:

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

关于php - 获取数组的最后一个元素以从中删除逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69130370/

相关文章:

php - 通过选择一行将数据从另一个表发送到一个表

c++ - 宏参数上的 Foreach 宏

php - 不重复地循环和排序结果

python - 二叉树方法示例

Java foreach递归返回(树中的 child 数)

PHP 5.3.3 - 在子目录中运行 session_start() 会终止现有 session

php - 完全基于 ajax 的 Web 应用程序的良好 php 框架?

php - 如何在Jquery中隐藏/显示多个对象?

javascript - 为什么 forEach 不适用于 child ?

php - 在创建 PHP 类实例时运行代码?