zoukankan      html  css  js  c++  java
  • php 数组相关方法的一些实际妙用

    一、php数组合并两个数组(一个数组做键名,另一个做值)

    有两个方法

    1、循环

    $arry_a = array(0, 1, 2);
    $arry_b = array('dongsir','董先生','董先生的CSDN博客');
     
    $arry_ab = [];
    foreach ($arry_b as $key => $value) {
        $arry_ab[$arry_a[$key]] = $value;
    }
    echo "<pre>";
    print_r($arry_ab);

    2、array_combine函数

    public function test()
    {
    
      $arry_a = array(0, 1, 2);
      $arry_b = array('dongsir','董先生','董先生的CSDN博客');
      $arry_ab =
    array_combine($arry_a ,$arry_b );
      print_r($arry_ab);
    }
     

     二、php利用array_search与array_column实现二维数组查找

    <?php 
    $userdb = array(
        0 => array(
                'uid' => 100,
                'name' => 'Sandra Shush',
                'url' => 'urlof100'
            ),
     
        1 => array(
                'uid' => 5465,
                'name' => 'Stefanie Mcmohn',
                'pic_square' => 'urlof100'
            ),
     
        2 => Array(
                'uid' => 40489,
                'name' => 'Michael',
                'pic_square' => 'urlof40489'
            )
    );
     
    $found_key = array_search(40489, array_column($userdb, 'uid'));
    /**
        如果$userdb很大,建议使用一个变量,避免搜索每个元素时都调用array_column()
        $uid = array_column($userdb, 'uid');
        $found_key = array_search(40489, $uid);
     */
    var_dump($found_key);//返回查询到的值的key--2
     
     ?>

    三、PHP二维数组搜索返回数组

     1 $ar = array(
     2     2 => array(
     3         'catid' => 2,
     4         'catdir' => 'notice',
     5     ),
     6     5 => array(
     7         'catid' => 5,
     8         'catdir' => 'subject',
     9     ),
    10     6=> array(
    11         'catid' => 6,
    12         'catdir' => 'news'
    13     ),
    14 );
    15  
    16 $catid = 5;
    17 $r = array_filter($ar, function($t) use ($catid) { return $t['catid'] == $catid; });
    18 print_r($r);

    返回

    1 Array
    2 (
    3     [5] => Array
    4         (
    5             [catid] => 5
    6             [catdir] => subject
    7         )
    8  
    9 )

     四、数组实现分页功能

    array_slice() -从数组中取出一段

    也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组

    我们的数据未必都是存储在数据库中,很多时候是用数组来组织的。所以获取数组数据,进行分页是比较常见的编程要求

    array_slice(原数组,开始下标,要取几条),这里用到三个参数(如果不写第三个参数 返回直到数组末端的所有元素)

    $count = count($article);//总条数
    $start=($page-1)*$pagesize;//偏移量,当前页-1乘以每页显示条数
    $article = array_slice($article,$start,$pagesize);
  • 相关阅读:
    计科4班曾祥刚2016024290
    线程:子线程先循环十次,主线程在循环20次,再子线程循环十次,主线程循环20次,如此循环50次
    java经典程序(11-20)
    java经典程序(1-10)
    String,File和xml
    自写一个双向链表
    i love my girl
    javamail发邮件
    Java反射机制(创建Class对象的三种方式)
    java基础面试题
  • 原文地址:https://www.cnblogs.com/ivy-zheng/p/11579482.html
Copyright © 2011-2022 走看看