让我们假设,搜索功能的返回值是这样的
// 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};
但我想,有一种更优雅的解决方案。
编辑: 顺便说一下,这并不是一个只涉及多个记录的引用问题的副本。
答案 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,我不会建议一个函数返回不同类型的数组结构。