获取视图中多维数组的第一个和最后一个键


Getting the first and the last key of multi-dimensional arrays in views

我正在运行一个函数并查询如下内容:

{
"Mar 22, 2015": [ ],
"Mar 23, 2015": [,
{
"id": 5,
"company_id": 1,
"task": "Do stuff right now",
"description": "Come on man! serious "
}
],
"Mar 24, 2015": [
{
"id": 8,
"company_id": 1,
"task": "Do all your taxes",
"description": "Or else you'll owe a bunch of money."
}
],
"Mar 25, 2015": [
{
"id": 2,
"company_id": 1,
"task": "Hey you",
"description": "Blah blah"
}
],
"Mar 26, 2015": [
{
"id": 1,
"company_id": 1,
"task": "Do something",
"description": "Oh ya!"
}
],
"Mar 27, 2015": [
{
"id": 4,
"company_id": 1,
"task": "Remember to do the laundry",
"description": "Oh la la!"
},
{
"id": 11,
"company_id": 1,
"task": "Buy a new snowboard",
"description": "blah blah"
},
{
"id": 12,
"company_id": 1,
"task": "Create your business plan",
"description": "blah blah"
}
],
"Mar 28, 2015": [ ]
}

我的数组将始终包含7天。我的问题是,我想在视图中获取要输出的第一个和最后一个日期(数组键)(而不必指定键值)。

当然,我想去{{ $myweek[0] }}得到Mar 22, 2015,去{{ $myweek[6] }}得到Mar 28, 2015。但我知道我不能用多维数组做到这一点。

如何在不必硬编码日期的情况下将这些开始日期和结束日期添加到我的周数组中?

注意,我已经为这个变量运行了一个FOREACH循环来显示每个日期。但我想获取foreach之外的值。。。以显示日期范围。即2015年3月22日至2015年3月月28日的任务等。

使用array_keys:

<?php
$json = json_decode('{
"Mar 22, 2015": [ ],
"Mar 23, 2015": [
{
"id": 5,
"company_id": 1,
"task": "Do stuff right now",
"description": "Come on man! serious "
}
],
"Mar 24, 2015": [
{
"id": 8,
"company_id": 1,
"task": "Do all your taxes",
"description": "Or else you''ll owe a bunch of money."
}
],
"Mar 25, 2015": [
{
"id": 2,
"company_id": 1,
"task": "Hey you",
"description": "Blah blah"
}
],
"Mar 26, 2015": [
{
"id": 1,
"company_id": 1,
"task": "Do something",
"description": "Oh ya!"
}
],
"Mar 27, 2015": [
{
"id": 4,
"company_id": 1,
"task": "Remember to do the laundry",
"description": "Oh la la!"
},
{
"id": 11,
"company_id": 1,
"task": "Buy a new snowboard",
"description": "blah blah"
},
{
"id": 12,
"company_id": 1,
"task": "Create your business plan",
"description": "blah blah"
}
],
"Mar 28, 2015": [ ]
}', true);
$keys = array_keys($json);
echo "From ".$keys[0]." to ".$keys[count($keys) - 1];
?>

https://eval.in/305839

希望您能理解以下代码:

<?php
$arr = array(
    'key1' => array(1,2,3),
    'key2' => array(4,5,6),
    'key3' => array(7,8,9),
    'key4' => array(10,1,12),
    'key5' => array(13,14,15),
);
$keys = array_keys($arr);
echo $keys[0] . ' AND ' . $keys[count($keys)-1];

更新:如果你想在你看来做到这一点,那么你有两种方法:

1) 您需要将$keys传递到您的视图,然后从那里获取这些密钥。

2) 不传递密钥:($arr是您传递给视图的变量)

{{ array_keys($arr)[0] }}
{{ array_keys($arr)[count($arr)-1] }}