老张博客

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

发布时间:2个月前热度: 20 ℃

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']
        }







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

栏目导航

  1. 杂谈
  2. PHP
  3. 建站
  4. Python
  5. linux

手机扫码访问