【问题标题】:CakePHP echo first and last record of array output foreach() iterationCakePHP 回显数组输出 foreach() 迭代的第一条和最后一条记录
【发布时间】:2011-03-24 22:24:36
【问题描述】:

我能够像这样访问和输出 Zip 项目的完整数组列表(这按预期工作):

...(这是一个 foreach 中的一个 foreach)

foreach ($plan_edit['Zip'] as $zip) :
    echo $zip['title'] . "<br />";
endforeach; ...

返回:

Array
(
    [0] => Array
        (
            [id] => 110
            [state_id] => 1
            [title] => 97701
            [PlansZip] => Array
                (
                    [id] => 83698
                    [plan_id] => 443
                    [zip_id] => 110
                )

        )

    [1]

我试图只获取每个主记录的每个数组集的第一个和最后一个值(['title'])。

我一直在搞乱 phps 数组 current() 和 end() 函数,但我只能得到“Array " 打印出来。

我知道我做错了什么,但在这一点上有点迷失方向。

欢迎对我的工作/方法提出任何建设性的批评。

这是我目前所在的位置:

<?php

foreach ($plan_edit['Zip'] as $zip) :
    echo current($zip['title']) . "<br />";
     endforeach;

foreach ($plan_edit['Zip'] as $zip) :
    echo end($zip['title']) . "<br />";
     endforeach; 

     ?>

【问题讨论】:

  • 让我的思维过程混乱的是我正在尝试各种方法来做到这一点,例如: $value) : echo max($价值) 。 "
    ";结束; ?> - 但 $value 输出是“数组”而不是实际值。

标签: arrays cakephp loops foreach


【解决方案1】:
$first = reset($plan_edit['Zip']);
$last = end($plan_edit['Zip']);
echo $first['title'];
echo $last['title'];

如果数组是数字索引的,你也可以这样做:

echo $plan_edit['Zip'][0]['title'];
echo $plan_edit['Zip'][count($plan_edit['Zip']) - 1]['title'];

【讨论】:

  • 您的第二个建议解决了问题。我试图用第一个建议来解决问题,但数组是数字的。干杯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
  • 2015-07-21
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多