2016 - 2024

感恩一路有你

php 给数组添加键值 php处理二维数组的方法是什么?

浏览量:2186 时间:2023-05-10 17:35:23 作者:采采

php处理二维数组的方法是什么?

傻小子,一维怎么处理就是二维怎么处理。一维数组用的是for loop或者foreach,所以二维是一套for bai(虽然这样会慢一点,怎么能更快需要根据实际情况来考虑),所以代码就不用多说了:

var arr [

【张三,21岁,实习生】,

[李四,25岁,工程师],

[王武,31岁,项目经理]

]

for(var i 0 i lt arr.length i ){

for(var j 0 j lt arr[i].长度j ){

console.log(arr[i][j])

}

}

看看结果:

(其实这是js的Demo。我觉得写js控制台比PHP echo更方便,实现思路其实是一样的。)

PHP多维数组根据值搜索对应的键,你一般用什么办法?

简介我们已经解释了很多PHP数组操作的参考场景。今天,我们将分享这些知识,并讨论如何按值搜索并返回多维数组的索引值。

在学习时间的初期,我们习惯按照自己的本能去写代码,下意识的开始使用for循环来遍历数组,然后一个一个的比较。如果值相等,我们将返回索引值。如果不匹配,就不存在。

如果原始数组是如下所示的关联数组。

程序逻辑非常简单。让 让我们用代码来实现它:

函数searchForId($id,$ array){ foreach($ array as $ key gt $ val){ if($ val[uid]$ id){ return $ key } }返回null }

这个函数接收一个值和一个数组,如果匹配就返回数组的索引,如果不存在就返回null。因为第一级结构没有手动指定索引值,所以它默认为从0开始的数字索引。

它是这样工作的:

$id searchForId(100,$userdb)

执行之后,输出应该是0。

当然,上面写的函数都是通用的,特殊情况要随机应变。对于上面提到的$userdb关联数组的结构,用PHP的内置函数来操作显然更直观更快捷。

我们只需要先取出uid列的所有元素,因为上层结构是默认的数值索引,所以这里不需要手动指定索引值;然后,在提取的数组中搜索值,并使用array_search执行return键。

总结成代码,就一行:

$key array_search(100,array_column($userdb,uid))

保持行结果与上面的searchForId函数一致。

深入讨论上面的函数和第二种解决方案会有一个问题,就是只返回第一个匹配的键。你这样写,肯定没问题:

$key array_search(40489,array_column($userdb,uid))

但是如果数组中有重复值,uid列不是唯一的,该怎么做才能返回所有匹配的结果呢?你赢了。;你不必再修改searchForId函数了,是吗?

事实上,你没有。;不需要。PHP提供了这样一个函数,用array_keys函数代替就可以了:

$ keys array _ keys(array _ column $ userdb,uid),40489

您必须经常使用array_keys函数来返回整个数组的键,但是它的第二个参数(如果指定的话)有一个可搜索的函数。这真的有点不得人心。

更进一步。

上面返回的是数组对应的键,那么如果想把键和值一起返回,一行代码可以吗?可以,修改一下就可以了。使用array_combine函数组合键和值并返回它们:

$ keys array _ keys(array _ combine(array _ keys($ userdb),array_column($us:_)

我是@程序员 的助手,我继续分享我的编程知识。欢迎关注。

函数 代码 array

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。