【发布时间】:2020-01-06 03:11:04
【问题描述】:
如果上面的meta_key等于first_name,我想得到meta_value的值,我该怎么做?
我正在做以下事情:
echo $name_data[1]['meta_value'];
这不起作用,因为 meta_value 并不总是在 [1] 位置。
这是数据,有数百个这样的条目,但数据都混在一起了(即相同的数据并不总是在 0、1、2 等数组中)。
Array
(
[0] => Array
(
[umeta_id] => 3221
[user_id] => 130
[meta_key] => nickname
[meta_value] => email@domain.com
)
[1] => Array
(
[umeta_id] => 3222
[user_id] => 130
[meta_key] => first_name
[meta_value] => Jim
)
[2] => Array
(
[umeta_id] => 3223
[user_id] => 130
[meta_key] => last_name
[meta_value] => Jones
)
)
Array
(
[0] => Array
(
[umeta_id] => 3221
[user_id] => 130
[meta_key] => nickname
[meta_value] => email@domain.com
)
[1] => Array
(
[umeta_id] => 3222
[user_id] => 130
[meta_key] => first_name
[meta_value] => John
)
[2] => Array
(
[umeta_id] => 3223
[user_id] => 130
[meta_key] => last_name
[meta_value] => Jones
)
)
【问题讨论】:
-
循环检查
meta_key是否为first_name,然后得到值?我能想到的最明显的选择。 array_search 和 array_column 也可能是一个选项。 -
您可以使用 foreach() 遍历对象,直到找到定义的元值。 PHP中有一些函数可以返回数组的下(第一个)元素和上(最后一个)元素。
-
通常你会使用
foreach和if来处理这类事情。理想情况下是break,一旦搜索结束 -
您是否也检索其他信息或仅检索
first_name? -
这些答案之一是否解决了您的问题?如果没有,您能否提供更多信息来帮助回答?否则,请考虑标记最能解决您的问题的答案(上/下投票箭头下的复选标记)。见stackoverflow.com/help/someone-answers
标签: php