gpt4 book ai didi

php - 如何引用这个变量(嵌套对象/数组)?

转载 作者:行者123 更新时间:2023-12-05 08:44:36 25 4
gpt4 key购买 nike

我正在学习 PHP 和 Drupal。我需要引用一个名为 $contexts 的数组中包含的变量。

所以 print_r($contexts) 给我这个:

Array ( 
[context_view_1] => ctools_context Object (
[type] => view
[view] => view Object (
[db_table] => views_view
[result] => Array (
[0] => stdClass Object (
[nid] => 28
[node_data_field_display_field_display_value] => slideshow
)
)

好困惑。我想使用 node_data_field_display_field_display_value 变量。我认为我的代码需要像这样,但我知道这是不对的:

if ($contexts['context_view_1']['view']['result'][0]
['node_data_field_display_field_display_value'] == 'slideshow') then do whatever...

谢谢!

最佳答案

您建议使用以下数组引用来获取您想要的变量:

 $contexts['context_view_1']['view']['result'][0]['node_data_field_display_field_display_value']

这不起作用的原因是因为链中的某些结构实际上是对象而不是数组,因此您需要不同的语法来获取它们的属性。

所以第一层是正确的,因为 $contexts 是一个数组,所以 context_view_1 是一个数组元素,所以你可以用 $ contexts['context_view_1'] 和你一样。

但是下一层是一个对象,所以要到达view,你需要用->语法将它作为一个对象属性来引用,像这样:$contexts['context_view_1']-> View

对于树下的每一层,您需要确定它是对象还是数组元素,并使用正确的语法。

在这种情况下,您最终会得到如下所示的内容:

$context['context_view_1']->view->result[0]->node_data_field_display_field_display_value

关于php - 如何引用这个变量(嵌套对象/数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5249363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com