一、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);

最新文章

  1. javascript脚本设置输入框只读的问题
  2. Stanford机器学习笔记-9. 聚类(Clustering)
  3. express+session实现简易身份认证
  4. django之form表单验证
  5. Android 网络框架 volley源码剖析
  6. 小心sae的jvm异常导致的Error 404 – Not Found.No context on this server matched or handled this request.
  7. NPOI导出Excel示例
  8. 如何把 excel 设为文本格式?
  9. Delphi OO
  10. Sicily1151:魔板搜索及优化
  11. css 完美替换图片
  12. net core VS goang web
  13. PHP+MYSQL分页原理
  14. IL反编译的实用工具
  15. Linux(7)chmod解析
  16. MySQL架构篇(一)
  17. hibernate 保存的flush怎么用?
  18. js之DOM对象三
  19. LVDS原理及设计指南--以及衍生的B-LVDS-M-LVDS--CML-LVPECL电平等
  20. 性能测试三十二:监控之Java线程监控

热门文章

  1. MySql数据类型及对应存储空间
  2. TCP报头格式
  3. python合并两个字典
  4. MySQL所谓的脏页和“抖”一下是什么联系?
  5. 笔记:YSmart: Yet Another SQL-to-MapReduce Translator
  6. linux系统空间不足,不重启进程,清理僵尸文件。
  7. Flume-日志聚合
  8. git分布式版本管理系统
  9. Android视频直播全屏实现
  10. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-7.授权登录获取微信用户个人信息实战