$result = $this->db->query($query)->result_array();
if($result[9]['b_code'] != FALSE)
{
$result_array = array(
'0' => $result[0]['b_code'],
'1' => $result[1]['b_code'],
'2' => $result[2]['b_code'],
'3' => $result[3]['b_code'],
'4' => $result[4]['b_code'],
'5' => $result[5]['b_code'],
'6' => $result[6]['b_code'],
'7' => $result[7]['b_code'],
'8' => $result[8]['b_code'],
'9' => $result[9]['b_code']
);
return $result_array;
}
else
return FALSE;
它按行提取10个数据,并使其成为一个新数组,作为$ result_array;
有时,它不会有10个结果,并且可能会提取5个或8个结果。
因此,我想检查是否有最后一个值,即是否为$ result [9] ['b_code]。
我应该使用isset吗?
最佳答案
我应该使用isset吗?
是的,如果您要测试是否设置了值(例如,设置而不是isset
),则NULL
是正确的语言构造。
在您的特定情况下,您还可以检查$result
的长度,这是通过count
完成的:
$numberOfElements = count($result);
isset
的一些示例代码:if (!isset($result[9]))
{
return FALSE;
}
return array_map(function($v) {return $v['b_code'];}, $result);
请注意,在此示例中,我们仅复制每个
b_code
元素即可防止重复10次。相反,这是通过数组映射完成的,请参见array_map
。可能更易读的变体,这次使用
count
:if (10 != count($result))
{
return FALSE;
}
$resultArray = array();
foreach ($result as $v)
{
$resultArray[] = $v['b_code'];
}
return $resultArray;
此变体利用
foreach
来防止一个一分配10个元素。关于php - PHP,检查My-Sql数据中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10023975/