PHP新手一个,问一个数组查询的问题

发布于 2022-09-06 03:23:06 字数 273 浏览 12 评论 0

我有一个数组

array = [{id:1,name:'张三1'},{id:2,name:'张三2'},{id:3,name:'张三3'},{id:4,name:'张三4'},{id:5,name:'张三5'},{id:6,name:'张三6'},{id:7,name:'张三7'}];

有没有方法可以直接查询到 id=3的元素内容,即返回{id:3,name:'张三3'},还是说只能foreach循环数组来查找

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

对你再特殊 2022-09-13 03:23:06

第一种 php5.5或更高版本

$array       = json_decode('[{"id":1,"name":"张三1"},{"id":2,"name":"张三2"},{"id":3,"name":"张三3"},{"id":4,"name":"张三4"},{"id":5,"name":"张三5"},{"id":6,"name":"张三6"},{"id":7,"name":"张三7"}]');
$arrayWithId = array_column($array, null, 'id');
$result      = $arrayWithId[3];
print_r($result);

第二种

你这是json数组,如果是php需要使用json_decode() 转换为php数组,然后for循环

第三种

如是是js处理,3楼说的对

素手挽清风 2022-09-13 03:23:06

看标签是php问题, 看结构是js问题, php的话可以考虑array_column将id做为键处理数组再通过下标取值

倒带 2022-09-13 03:23:06

你这应该是js语法吧,php没有这样的,js随便写,基本就是我这下面的栗子

Array.prototype.get = function (index) {
  for(var i = 0; i < this.length; i++) {
    if(this[i].id === index) {
      return this[i];
    }
  }

  return false;
}

array.get(3);
花开雨落又逢春i 2022-09-13 03:23:06
array_column($arr, null, 'id')[3]
音栖息无 2022-09-13 03:23:06

只能foreach循环数组吧!

小…红帽 2022-09-13 03:23:06

如果是json格式,直接先转换成数组的形式,然后利用array_column这个函数来解决就行!楼上已有回答!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文