向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 ...
随机推荐
- LeetCode 838. Push Dominoes
原题链接在这里:https://leetcode.com/problems/push-dominoes/ 题目: There are N dominoes in a line, and we plac ...
- LeetCode 785. Is Graph Bipartite?
原题链接在这里:https://leetcode.com/problems/is-graph-bipartite/ 题目: Given an undirected graph, return true ...
- 【后缀数组】【SP1811】 LCS - Longest Common Substring
题目链接 题意翻译 输入2 个长度不大于250000的字符串,输出这2 个字符串的最长公共子串.如果没有公共子串则输出0 . 思路 求两个串的最长公共子串 代码 #include<iostrea ...
- P4936 题解
\(\text{Update}\)(2019.10.05): 递推公式推法更详细: 通项公式更新详细版: 单位矩阵的推法更加详细. 特别鸣谢 @Smallbasic 苣佬,是他教会了我推递推公式和通项 ...
- CodeChef November Challenge 2019 Division 1题解
传送门 AFO前的最后一场CC了--好好打吧-- \(SIMGAM\) 偶数行的必定两人平分,所以只要抢奇数行中间那个就行了 这题怎么被爆破了 //quming #include<bits/st ...
- bash循环得到日期目录
#!/bin/bash today=$(date "+%Y%m%d") echo 'today is :'${today} single_input="raw_data/ ...
- 从浏览器输入url到显示页面的过程 (前端面试题)
域名DNS解析,解析到真正的IP地址 | 客户端与服务端建立TCP连接,3次握手 | 客户端发送Http请求 | server接收到http请求,处理,并返回 | 客户端接收到 ...
- location 浅解析
https://www.baidu.com/s?ie=UTF-8&wd=sdasds location.href // 'https://www.baidu.com/s?ie=UTF-8&am ...
- 最新版-Python和Java实现Aes相互加解密
前情 需要使用Python和Java实现同一个AES加解密算法,使Python版本加密的密文能够由Java代码解密,反之亦然. Python实现 Python为3.6版本 # -*- coding: ...
- Monkey框架(基础知识篇) - monkey启动与参数介绍
一.monkey启动 直接PC启动:> adb shell monkey [options] <count> shell 端启动:> adb shell >monkey ...