Php 如何在smarty foreach循环中从执行中排除最后一个数组元素?
以下是一个名为Php 如何在smarty foreach循环中从执行中排除最后一个数组元素?,php,arrays,foreach,smarty,associative-array,Php,Arrays,Foreach,Smarty,Associative Array,以下是一个名为$user\u transactions的数组,该数组与smarty模板关联: Array ( [0] => Array ( [transaction_user_id] => ce838192983c50e9f3c25663eee2d7bb [transaction_no] => 0349121204111 [transaction_total_amount] =>
$user\u transactions
的数组,该数组与smarty模板关联:
Array
(
[0] => Array
(
[transaction_user_id] => ce838192983c50e9f3c25663eee2d7bb
[transaction_no] => 0349121204111
[transaction_total_amount] => 918.00
[transaction_date] => 11/04/2012
[transaction_status] => cancelled
)
[1] => Array
(
[transaction_user_id] => 3ff1379851d1f3c01d2ade968cf3b3fa
[transaction_no] => 1937101204132
[transaction_total_amount] => 179.00
[transaction_date] => 13/04/2012
[transaction_status] => cancelled
)
[2] => Array
(
[transaction_user_id] => 9508feceeea6edb2cf12ad7eb600a315
[transaction_no] => 1636011204143
[transaction_total_amount] => 259.00
[transaction_date] => 14/04/2012
[transaction_status] => cancelled
)
[3] => Array
(
[transaction_user_id] => 3ff1379851d1f3c01d2ade968cf3b3fa
[transaction_no] => 2309051204144
[transaction_total_amount] => 179.00
[transaction_date] => 14/04/2012
[transaction_status] => cancelled
)
[4] => Array
(
[transaction_user_id] => 7e68b03b6c161fa230a9bc943012fb15
[transaction_no] => 4606031204155
[transaction_total_amount] => 956.00
[transaction_date] => 15/04/2012
[transaction_status] => cancelled
)
[5] => Array
(
[transaction_user_id] => 1b04818029044840c57879ddf5200538
[transaction_no] => 1331081204176
[transaction_total_amount] => 589.00
[transaction_date] => 17/04/2012
[transaction_status] => cancelled
)
[6] => Array
(
[transaction_user_id] => 4732fb946cb60d6e2073adbc1f3a5ca5
[transaction_no] => 5909041204187
[transaction_total_amount] => 589.00
[transaction_date] => 18/04/2012
[transaction_status] => cancelled
)
[7] => Array
(
[transaction_user_id] => 4732fb946cb60d6e2073adbc1f3a5ca5
[transaction_no] => 4349041204188
[transaction_total_amount] => 129.00
[transaction_date] => 18/04/2012
[transaction_status] => cancelled
)
[8] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 2456081204259
[transaction_total_amount] => 129.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[9] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 39180912042510
[transaction_total_amount] => 219.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[10] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 58310212042511
[transaction_total_amount] => 129.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[11] => Array
(
[transaction_user_id] => a5a24f328aad0f8053359ead49b83be9
[transaction_no] => 16250912042512
[transaction_total_amount] => 79.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[12] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 35230912042613
[transaction_total_amount] => 79.00
[transaction_date] => 26/04/2012
[transaction_status] => cancelled
)
[13] => Array
(
[transaction_user_id] => c1610997fa0741526d57c459bc6f961a
[transaction_no] => 07300912042614
[transaction_total_amount] => 219.00
[transaction_date] => 26/04/2012
[transaction_status] => cancelled
)
[14] => Array
(
[transaction_user_id] => 6dd8086fa23bad37580fe55f35509277
[transaction_no] => 14430912042815
[transaction_total_amount] => 589.00
[transaction_date] => 28/04/2012
[transaction_status] => cancelled
)
[15] => Array
(
[transaction_user_id] => e997536e693efa0ddd4ece248ba3430d
[transaction_no] => 04000612042916
[transaction_total_amount] => 589.00
[transaction_date] => 29/04/2012
[transaction_status] => cancelled
)
[16] => Array
(
[transaction_user_id] => c307ce45ef04ab1bf74592ab05792f75
[transaction_no] => 28040912043017
[transaction_total_amount] => 129.00
[transaction_date] => 30/04/2012
[transaction_status] => cancelled
)
[17] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 19500912050218
[transaction_total_amount] => 589.00
[transaction_date] => 02/05/2012
[transaction_status] => cancelled
)
[18] => Array
(
[transaction_user_id] => 9def02e6337b888d6dbe5617a172c18d
[transaction_no] => 36010512050819
[transaction_total_amount] => 79.00
[transaction_date] => 08/05/2012
[transaction_status] => cancelled
)
[19] => Array
(
[transaction_user_id] => 9def02e6337b888d6dbe5617a172c18d
[transaction_no] => 19020512050820
[transaction_total_amount] => 299.00
[transaction_date] => 08/05/2012
[transaction_status] => cancelled
)
[transaction_count_data] => Array
(
[success_transaction_count] => 10
[inprocess_transaction_count] => 11
[cancelled_transaction_count] => 66
[failed_transaction_count] => 0
)
)
<tbody>
{if $user_transactions}
{foreach from=$user_transactions item='my_transaction'}
<tr>
<td>
<div class="checkbxd"><input class="custom-check" type="checkbox" name="subject" id="subject"></div><div class="checkbxd_txt">{$my_transaction.transaction_no}</div>
</td>
<td>{$my_transaction.transaction_date}</td>
<td>{$my_transaction.transaction_status|capitalize:true}</td>
<td>{$my_transaction.transaction_total_amount}</td>
<td align="left">
<a href="{$control_url}modules/transactions/view_transactions.php?op=payment_details&page={$cur_page}&txn_no={$my_transaction.transaction_no}&user_id={$my_transaction.transaction_user_id}&from_date={$from_date}&to_date={$to_date}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}#searchPopContent" class="c-icn c-search inline_view_transaction_details">search</a>
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="5" align="center"><b>You haven't made any transaction yet.</b></td></tr>
{/if}
</tbody>
要打印阵列元素,我在smarty模板中使用了以下forach循环:
Array
(
[0] => Array
(
[transaction_user_id] => ce838192983c50e9f3c25663eee2d7bb
[transaction_no] => 0349121204111
[transaction_total_amount] => 918.00
[transaction_date] => 11/04/2012
[transaction_status] => cancelled
)
[1] => Array
(
[transaction_user_id] => 3ff1379851d1f3c01d2ade968cf3b3fa
[transaction_no] => 1937101204132
[transaction_total_amount] => 179.00
[transaction_date] => 13/04/2012
[transaction_status] => cancelled
)
[2] => Array
(
[transaction_user_id] => 9508feceeea6edb2cf12ad7eb600a315
[transaction_no] => 1636011204143
[transaction_total_amount] => 259.00
[transaction_date] => 14/04/2012
[transaction_status] => cancelled
)
[3] => Array
(
[transaction_user_id] => 3ff1379851d1f3c01d2ade968cf3b3fa
[transaction_no] => 2309051204144
[transaction_total_amount] => 179.00
[transaction_date] => 14/04/2012
[transaction_status] => cancelled
)
[4] => Array
(
[transaction_user_id] => 7e68b03b6c161fa230a9bc943012fb15
[transaction_no] => 4606031204155
[transaction_total_amount] => 956.00
[transaction_date] => 15/04/2012
[transaction_status] => cancelled
)
[5] => Array
(
[transaction_user_id] => 1b04818029044840c57879ddf5200538
[transaction_no] => 1331081204176
[transaction_total_amount] => 589.00
[transaction_date] => 17/04/2012
[transaction_status] => cancelled
)
[6] => Array
(
[transaction_user_id] => 4732fb946cb60d6e2073adbc1f3a5ca5
[transaction_no] => 5909041204187
[transaction_total_amount] => 589.00
[transaction_date] => 18/04/2012
[transaction_status] => cancelled
)
[7] => Array
(
[transaction_user_id] => 4732fb946cb60d6e2073adbc1f3a5ca5
[transaction_no] => 4349041204188
[transaction_total_amount] => 129.00
[transaction_date] => 18/04/2012
[transaction_status] => cancelled
)
[8] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 2456081204259
[transaction_total_amount] => 129.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[9] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 39180912042510
[transaction_total_amount] => 219.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[10] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 58310212042511
[transaction_total_amount] => 129.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[11] => Array
(
[transaction_user_id] => a5a24f328aad0f8053359ead49b83be9
[transaction_no] => 16250912042512
[transaction_total_amount] => 79.00
[transaction_date] => 25/04/2012
[transaction_status] => cancelled
)
[12] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 35230912042613
[transaction_total_amount] => 79.00
[transaction_date] => 26/04/2012
[transaction_status] => cancelled
)
[13] => Array
(
[transaction_user_id] => c1610997fa0741526d57c459bc6f961a
[transaction_no] => 07300912042614
[transaction_total_amount] => 219.00
[transaction_date] => 26/04/2012
[transaction_status] => cancelled
)
[14] => Array
(
[transaction_user_id] => 6dd8086fa23bad37580fe55f35509277
[transaction_no] => 14430912042815
[transaction_total_amount] => 589.00
[transaction_date] => 28/04/2012
[transaction_status] => cancelled
)
[15] => Array
(
[transaction_user_id] => e997536e693efa0ddd4ece248ba3430d
[transaction_no] => 04000612042916
[transaction_total_amount] => 589.00
[transaction_date] => 29/04/2012
[transaction_status] => cancelled
)
[16] => Array
(
[transaction_user_id] => c307ce45ef04ab1bf74592ab05792f75
[transaction_no] => 28040912043017
[transaction_total_amount] => 129.00
[transaction_date] => 30/04/2012
[transaction_status] => cancelled
)
[17] => Array
(
[transaction_user_id] => 359691e27b23f8ef3f8e1c50315cd506
[transaction_no] => 19500912050218
[transaction_total_amount] => 589.00
[transaction_date] => 02/05/2012
[transaction_status] => cancelled
)
[18] => Array
(
[transaction_user_id] => 9def02e6337b888d6dbe5617a172c18d
[transaction_no] => 36010512050819
[transaction_total_amount] => 79.00
[transaction_date] => 08/05/2012
[transaction_status] => cancelled
)
[19] => Array
(
[transaction_user_id] => 9def02e6337b888d6dbe5617a172c18d
[transaction_no] => 19020512050820
[transaction_total_amount] => 299.00
[transaction_date] => 08/05/2012
[transaction_status] => cancelled
)
[transaction_count_data] => Array
(
[success_transaction_count] => 10
[inprocess_transaction_count] => 11
[cancelled_transaction_count] => 66
[failed_transaction_count] => 0
)
)
<tbody>
{if $user_transactions}
{foreach from=$user_transactions item='my_transaction'}
<tr>
<td>
<div class="checkbxd"><input class="custom-check" type="checkbox" name="subject" id="subject"></div><div class="checkbxd_txt">{$my_transaction.transaction_no}</div>
</td>
<td>{$my_transaction.transaction_date}</td>
<td>{$my_transaction.transaction_status|capitalize:true}</td>
<td>{$my_transaction.transaction_total_amount}</td>
<td align="left">
<a href="{$control_url}modules/transactions/view_transactions.php?op=payment_details&page={$cur_page}&txn_no={$my_transaction.transaction_no}&user_id={$my_transaction.transaction_user_id}&from_date={$from_date}&to_date={$to_date}{if $transaction_status!=''}&transaction_status={$transaction_status}{/if}{if $transaction_no!=''}&transaction_no={$transaction_no}{/if}#searchPopContent" class="c-icn c-search inline_view_transaction_details">search</a>
</td>
</tr>
{/foreach}
{else}
<tr><td colspan="5" align="center"><b>You haven't made any transaction yet.</b></td></tr>
{/if}
</tbody>
{if$user_transactions}
{foreach from=$user\u transactions item='my\u transaction'}
{$my_transaction.transaction_no}
{$my_transaction.transaction_date}
{$my_transaction.transaction_status |大写:true}
{$my_transaction.transaction_total_amount}
{/foreach}
{else}
你还没有做任何交易。
{/if}
现在,我不想访问具有key
transaction\u count\u data
的数组中的最后一个元素,因为它的元素集与其他数组元素不同。您能帮我排除smarty循环中foreach循环的最后一个元素吗?提前感谢。您可以使用last
属性
{if $smarty.foreach.my_transaction.last}
您可以使用
last
属性
{if $smarty.foreach.my_transaction.last}
我同意HamZa的观点,这应该在它到达模板之前完成。不过,也就是说,可以在Smarty中使用该房产
{if not $smarty.foreach.my_transaction.last}do your stuff{/if}
我同意HamZa的观点,这应该在它到达模板之前完成。不过,也就是说,可以在Smarty中使用该房产
{if not $smarty.foreach.my_transaction.last}do your stuff{/if}
为什么不在PHP中复制该数组并删除最后一个元素,最后将其传递给Smarty?@HamZa:不,很遗憾,由于一些限制,我不能这样做。模板背后的整个原则是编写更少的逻辑/“数据处理”在您的演示文稿中,为什么不用PHP复制该数组并删除最后一个元素,最后将其交付给Smarty?@HamZa:不,很遗憾,由于一些限制,我不能这样做。模板背后的整个原则是在演示文稿中编写更少的逻辑/数据处理