向php数组函数array_colum()传入奇怪的数组
<?php
// 向php数组函数array_colum()传入奇怪的数组
// array_colum()函数 返回行列数组的其中一列,可以用其他列的键充当键
$arr = [
[ 1, 2, 3, 4, 5 ],
[ 1, 2, 3, 4, 5 ],
[ 1, 2, 3, 4, 5 ]
];
print_r( array_column( $arr, 1, 2 ) );
// Array
// (
// [3] => 2
// )
// 本例,用第三列作返回第二列的键,第三列的值都是4,array_colum()返回的数组键名重复,
// 于是值被覆盖,最后只剩下一个元素
print_r( array_column( $arr, 1 ) );
// Array
// (
// [0] => 2
// [1] => 2
// [2] => 2
// )
// array_colum( $arr, 1 ) 这样使用就可以获得第二列的值。 $arr = [
[1, 2, 3, 4],
[5, 6, 7],
[8, 9, 10, 11]
];
print_r( array_column( $arr, 1, 3 ) );
// Array
// (
// [4] => 2
// [5] => 6
// [11] => 9
// )
// 本例中,目标数组的第四列缺少一项,于是返回的数组第二个元素的键被系统php自动设置成了5
$arr = [
[1, 2, 3, 4],
[5, 6, 7],
[8, 9, 10, 11]
];
print_r( array_column( $arr, 3, 1 ) );
// Array
// (
// [2] => 4
// [9] => 11
// )
// 在本例中,目标数组的第四列少一个值,返回的数组并不含这一项。
$arr = [
['a', 'b', 'c', 'd'],
['e', 'f', 'g' ],
['i', 'j', 'k', 'l']
];
print_r( array_column( $arr, 1, 3 ) );
// Array
// (
// [d] => b
// [0] => f
// [l] => j
// )
// 当第四列其中一个没有值时,系统会自动补上索引键名
$arr = [
['a', 'b', 'c', 'd'],
['e', 'f', 'g' ],
['i', 'j', 'k', 'l']
];
print_r( array_column( $arr, 3, 1 ) );
// 和上面一样,当某一列没有值,而又被指定为返回数组的值,这时,返回数组不含这个值
$arr = [
['a' => 'a', 'b' => 'b', 'c' => 'c'],
['d' => 'd', 'e' => 'e', 'f' => 'f'],
['g' => 'g', 'h' => 'h', 'i' => 'i']
];
print_r( array_column( $arr, 'b', 'c' ) );
// Array
// (
// [c] => b
// )
// 因为指定的这两列都只有一个满足条件,于是返回数组只有一个元素
向php数组函数array_colum()传入奇怪的数组的更多相关文章
- PHP数组函数 array_multisort() ----对多个数组或多维数组进行排序
PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...
- php中的常用数组函数(二)(数组元素过滤 array_filter())
array_filter($arr, 'filter_func'); //参数1,要过滤的数组 //参数2,过滤的函数,返回false时,不添加这个元素,返回true添加这个元素. 示例代码: /** ...
- php中的常用数组函数(五)(数组中获取键名集合)
array_keys($arr, $search_value, $strict); --数组中获取键名的集合. //参数1 要检索的数组:参数2 要检索的键值 默认NULL: 参数3 是否严格比较(= ...
- php中的常用数组函数(四)(数组中是否有某个键名或索引)
/***********array_key_exists(检查键名或索引是否在数组中)*****************/ $arr1 = array('name' => 'Sheldon', ...
- php中的不常用数组函数(一)(数组中元素的键和值对调 array_flip())
array_flip($arr); //交换数组中的键和值. //如下所示,如果$arr中有相同的值.交换之后 会被旧的覆盖,最后一个有效. /***********array_flip(交换数组中的 ...
- c语言 函数返回二位数组 函数参数为二维数组
通过typedef可以简单实现.也可以直接写. 写了两个简单的矩阵操作的函数简单示例. #include <stdio.h> #include <stdlib.h> const ...
- php常用数组函数回顾一
数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...
- php操作数组函数
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数.数组的分段和填充.数组与栈.数组与列队.回调函数.排序.计算.其他的数组函数等. 一.数组操作的基本函数 数组的键名和值 array_va ...
- PHP中常用的数组函数总结
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数,数组的分段和填充,数组与栈,数组与列队,回调函数,排序,计算,其他的数组函数等. 一,数组操作的基本函数 数组的键名和值 array_va ...
随机推荐
- I2C 连接 12864 OLED 屏幕
http://ardui.co/archives/738 我是潘,曾经是个工程师.这是为 Ardui.Co 制作的 “Arduino 公开课” 系列的入门教程.上一课介绍了I2C 协议连接1602 L ...
- Vue.directive全局自定义指令案例
今天正好这个知识点有点淡忘了,就随笔一下吧: Vue.directive(参数1,参数2) 参数1:指令名称,如"drag" 参数2:指令要实现的回调函数,其中回调函数中也有两个参 ...
- Cesium 加载天地图
网上有很多 就是没说 加载天地图需要开发者秘钥,这个需要去天地图官网申请一个就可以了,下面贴上源码 还有就是Cesium也是需要token的哈 <!DOCTYPE html> <ht ...
- e3s10 网络管理
1. host上设置 iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE # https://www.unixtutorial.org/how-t ...
- 洛谷P2331[SCOI2005]最大子矩阵
题目 DP 此题可以分为两个子问题. \(m\)等于\(1\): 原题目转化为求一行数列里的\(k\)块区间的和,区间可以为空的值. 直接定义状态\(dp[i][t]\)表示前i个数分为t块的最大值. ...
- 编译.tex文件时出现的问题
Error: “the second byte of the cjk code is out of range” 发生在使用pdflatex和bibtex时.可能是.bib文档中出现了中文字符,包括中 ...
- 【算法编程 C++ python】单链表反序输出
题目描述 输入一个链表,从尾到头打印链表每个节点的值. 以下方法仅仅实现了功能,未必最佳.在牛客网测试, C++:3ms 480k Python:23ms 5732k /** * struct L ...
- [Beta]第一次 Scrum Meeting
[Beta]第一次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/5 22:00 30min 大运村公寓6F寝室 附Github仓库:WEDO 例会照片 工作情况总 ...
- C# System.Net.Mail.MailMessage 发邮件
C# System.Net.Mail.MailMessage 发邮件 上篇文化在哪个可以看到使用 System.Web.Mail.MailMessage 发邮件时会提示 ,提供用于构造电子邮件的属性和 ...
- 对异步处理的http接口进行性能测试
以前对接口做性能测试,接口都是同步处理的,请求之后等待响应结果就知道处理结果了,这样只要看这个接口是否异常,如果无异常无报错记录这个接口的响应时间.TPS等性能指标进行分析就可以了,最近在工作中遇到了 ...