php 数组相关方法的一些实际妙用

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

有两个方法php

一、循环sql

$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);

二、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);
}
 

 2、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 ?>

3、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 )

 4、数组实现分页功能

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

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

咱们的数据未必都是存储在数据库中,不少时候是用数组来组织的。因此获取数组数据,进行分页是比较常见的编程要求函数

array_slice(原数组,开始下标,要取几条),这里用到三个参数(若是不写第三个参数 返回直到数组末端的全部元素)ui

$count = count($article);//总条数
$start=($page-1)*$pagesize;//偏移量,当前页-1乘以每页显示条数
$article = array_slice($article,$start,$pagesize);
相关文章
相关标签/搜索