这种问题一般我们常见于页面上既要用到总表,又要用到其中某个用户单条数据的情况。而常见的两种解决方法是1.两次查库取出总表和符合条件的单条数据;(在数据库的数据量不多,涉及到的表较少的情况)2.取出总表用php foreach进行循环,在循环体中判断数据是否符合条件,符合则结束循环并返回这条数据(数据量大,涉及到的数据表多且结构复杂)。是不是哪一种看起来都很麻烦,太简单粗暴不太适合我这种追求矫情美感的人。
所以在这几天做项目涉及到这种情况且查出的结果集也比较庞大的时候,我就在想,数据库中的结果集都是以二维数组的形式取出存在php变量中,那么,如果能找到一个方法将这个二维数组中符合条件的一维数组抽出,不仅能够获得我们所需要的单条数据,同时还得到了该条数据在数据集中的位置(因为是键值对的形式)。所以抱着这样的想法小小的研读了一下php关于array数组的常用函数。果然让我找到了array_filter()这个函数,完美的解决了我的问题。执行代码如下(该代码所用的数组是我上篇文章生成的,不清楚的童鞋可以翻翻我的前一篇文章,这里我就不赘述了。):
<?php
function test_odd($var)
{