【问题标题】:get element from array separately分别从数组中获取元素
【发布时间】:2015-08-29 00:03:33
【问题描述】:

这个话题可能已经发过了,但是我没找到……

使用 postgresql,我返回一个带有我创建的函数的数组:

Select * from my_function(var1,var2);

我得到了预期的结果:

{x,y}

通过使用 php (pg_fetch_array($result)),我也设法以这种形式得到这个结果。我现在想得到的是 x 和 y 分开。像这样

{x},{y}

这可能吗?我想知道如何从数组中逐个获取元素?

【问题讨论】:

  • 你能用print_r($result)吗?
  • 我已经尝试过了,它给了我这个结果:Resource id #42,这是正常的,因为我在 print_r 中指向的是一个案例,而不是包含...
  • 嗯,你这样做有什么期望?我的意思是, var_dump 或 print_r 仅用于显示结果,不是吗?我想要的是从 {x,y} 传递到 {x},{y}
  • 使用explode(',', $result),然后将其存储在$newVar = []
  • 我什么都没得到……但也许是因为我的代码,虽然我不明白为什么……无论如何,谢谢你一直在那里!

标签: php postgresql


【解决方案1】:

听起来你想要一个结果集。您可以在 SQL 中使用unnest

SELECT unnested.elem 
FROM my_function(var1,var2) f(arr),
     unnest(f.arr) unnested(elem);

【讨论】:

    猜你喜欢
    • 2014-12-19
    • 1970-01-01
    • 2019-12-17
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多