获取数组的第一个元素

时间:2015-10-16 10:01:12

标签: php arrays

让我们假设,搜索功能的返回值是这样的

// If only one record is found
$value = [
  'records' => [
    'record' => ['some', 'Important', 'Information']
  ]
]

// If multiple records are found
$value = [
  'records' => [
    'record' => [
       0 => ['some', 'important', 'information'],
       1 => ['some', 'information', 'I dont care']
    ]
  ]
]

什么是获取重要信息的最佳方式(如果有多个记录,它总是第一个)?

我应该查看类似

的内容
if (array_values($value['record']['records'])[0] == 0){//do something};

但我想,有一种更优雅的解决方案。

编辑: 顺便说一下,这并不是一个只涉及多个记录的引用问题的副本。

2 个答案:

答案 0 :(得分:0)

像这样检查..

if(is_array($value['records']['record'][0])) {
    // multiple records
} else {
    // single record
}

答案 1 :(得分:0)

如果您想要数组的第一个元素,则应使用reset。此函数将指针设置为第一个元素并将其返回。

$firstValue = reset($value['record']['records']);

编辑..再次阅读你的问题后,似乎,你不想要第一个元素。 你想要这个

if (isset($value['record']['records'][0]) && is_array($value['record']['records'][0])) {
    // multiple return values
} else {
    // single return value
}

这样做是一种错误proun,我不会建议一个函数返回不同类型的数组结构。