【问题标题】:how to get value from array like [{"id":"3","value":"12345"},{"id":"4","value":"ABCDEFG1"},{"id":"5","value":"12"}]如何从数组中获取值,如 [{\"id\":\"3\",\"value\":\"12345\"},{\"id\":\"4\",\"value \":\"ABCDEFG1\"},{\"id\":\"5\",\"值\":\"12\"}]
【发布时间】:2022-09-23 21:18:39
【问题描述】:

SQL dbinvoice output product_id)->custom_field; ?>

<td class=\"text-Left cname\"><?php echo $temp_hsn; ?></td>

通过上面的代码得到低于值

[{\"id\":\"3\",\"value\":\"12345\"},{\"id\":\"4\",\"value\":\"ABCDEFG1\"},{\"id\":\"5\",\"value\":\"12\"}]
[{\"id\":\"3\",\"value\":\"1234567\"},{\"id\":\"4\",\"value\":\"ABCDEFG12\"},{\"id\":\"5\",\"value\":\"12\"}]
[{\"id\":\"3\",\"value\":\"12345678\"},{\"id\":\"4\",\"value\":\"ABCDEFG123\"},{\"id\":\"5\",\"value\":\"12\"}]
[{\"id\":\"3\",\"value\":\"jhgj31323n\"},{\"id\":\"4\",\"value\":\"\"},{\"id\":\"5\",\"value\":\"18\"},{\"id\":\"8\",\"value\":\"\"}]

但我只想显示 \"id\":\"4\" 的值

enter image description here

  • 当你在td 标签中渲染数据时,你怎么会得到一个字符串?有截图就更好了。
  • 这些似乎是一个接一个地输出的几个 JSON 编码的数组 - 所以你不能在整个事情上使用 json_decode,你必须先把它分解成单独的“行”。除非您仍然可以首先更改数据的存储方式 - 它应该是一个数组数组,一次性编码为 JSON。
  • \"通过上面的代码\" - 这是什么意思?代码在哪里?

标签: php html laravel


【解决方案1】:

你可以使用array_filter

你可以像这样使用它:

array_filter($array, fn($item) => $item['id'] == 4)

您还可以将数组collect() 放入一个集合中并像这样查询它:

collect($array)->where('id', 4)->first();

【讨论】:

  • “你可以使用 array_filter”- 究竟是什么?他们目前似乎没有一个数组,但数据以文本形式存储在 custom_field 属性中。
  • 没有得到结果,$item 是什么。我添加了一些图像。
  • 好点子。由于标题中的问题是如何从数组中获取值,我认为假设我们正在谈论一个 php 数组是安全的(因为有问题的 php 标记)。我想我的速度太快了(见当前更新)
  • 在这种情况下,$item 是数组中的一个元素(检查我在 array_filter 上链接的文档)。但是您更改了问题,所以我想答案不再适用
猜你喜欢
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
  • 2020-03-05
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多