欢迎您来到点我久发!
当前身份:游客 [ 登录 | 注册 ]
当前位置:首页>>文章阅读>>PHP

php 用数组处理链表查询的方法

发布时间:2024-12-04 22:16  阅读次数:89次  剩余奖励:495金币

php 用数组处理链表查询的方法

个人并不喜欢 mysql 链表进行查询 , 两个表还好, 三个表以上感觉sql语句巨长,过两天读起来还麻烦,然后研究了一种使用数组使用法


/**
 * 根据数组某个key的value获取数组的多个类似元素
 * @param array $entities
 * @param string $column
 * @param unknown $column_value
 */
function get_entities_by_column($entities, $column, $column_value) {
    $list = array();
    foreach ($entities as $entity) {
        if (isset($entity[$column]) && ($entity[$column] == $column_value)) {
            array_push($list, $entity);
        }
    }
    return $list;
}

/**
 * 根据数组某个key的value获取数组的这个元素
 * @param array $entities
 * @param string $column
 * @param unknown $column_value
 */
function get_entity_by_column($entities, $column, $column_value) {
    $entities = get_entities_by_column($entities, $column, $column_value);
    if (empty($entities) || count($entities) <= 0) {
        return null;
    }
    return $entities[0];
}



get_entities_by_column()方法,返回的是一列数组  所传值 方别是 目标数组,数组索引,对应的值

get_entity_by_column()方法  , 返回一条数组 所传值 方别是 目标数组,数组索引,对应的值

用法:


$user_lists = M("user")->select();
        foreach ($orderList as $key => $value) {
            $user_lists_res = get_entity_by_column($user_lists ,"user_id",$value['user_id']);
           $orderList[$key]['user_name'] = $user_lists_res['user_name']
        }