仅回显数组的最后 10 个值

Echo only last 10 values of array

我已经构建了这个数组

 <?php
    $bidding_history = $current_bidding_data;
    if(is_array($bidding_history) && !empty($bidding_history) ){ 
    ?>

        <ul class="list-group">
        <?php
        foreach($bidding_history as $kk => $bhistory){
        ?>

$bhistory 回显如下,

<li class="list-group-item"><span class="badge pull-right"><small><?php echo $bhistory['username'] ?></small></span>

我只想回显 $bhistory 的最后 10 行。

我试过 array_splice

<li class="list-group-item"><span class="badge pull-right"><small><?php echo array_splice ($bidding_history['username'], -1, 10, true) ?></small></span>

但在前端我收到错误代码: 警告:array_slice() 期望参数 1 为数组,给定为 null

我不知道哪里做错了,需要帮助

提前致谢。

您可以为此使用 array_slice();

举个例子:

<?php
$bidding_history_new = array_slice($bidding_history, -10);
foreach($bidding_history_new as $kk => $bhistory){
    //whatever you do here

}
?>

有关 PHP 的 array_slice(); 函数的更多信息:http://php.net/manual/en/function.array-slice.php

我认为答案可能不在于 array_slice

您可以使用 for 循环轻松查看数组的最后 10 个元素:

for($i = count($bidding_history) - 10; $i < count($bidding_history); $i++) {
?>
    <li class="list-group-item"><span class="badge pull-right"><small>
<?php 
    echo $bidding_history[$i]['username'] 
?>
    </small></span>
<?php
}

或者

for($i = count($bidding_history) - 10; $i < count($bidding_history); $i++) {
    //...whatever you want to do...
    $username = $bidding_history[$i]['username'];
}