我有以下数组并获得此结果:
Array
(
[0] => stdClass Object
(
[UnitIdx] => 10
[Title] => 순차
[Description] =>
[NumSteps] => 9
[ThumbnailPathName] => Level_1_Unit_thumbnail_Small.png
[Step_1] => 4
[Step_2] => 5
[Step_3] => 6
[Step_4] => 7
[Step_5] => 8
[Step_6] => 9
[Step_7] => 10
[Step_8] => 11
[Step_9] => 12
[Step_10] => 0
[Step_11] => 0
[Step_12] => 0
[Step_13] => 0
[Step_14] => 0
[Step_15] => 0
[Step_16] => 0
[Step_17] => 0
[Step_18] => 0
[Step_19] => 0
[Step_20] => 0
)
)
现在我想找到关键的表单值。例如,值为11
,因此密钥为Step_8
。
知道如何从值返回键名吗?
感谢。
答案 0 :(得分:0)
看看这个:
ClassActivityEdit
检查工作小提琴:CLICK!
<强> 说明: 强>
1)android:parentActivityName="com.teamtreehouse.oslist.ClassActivity"
- 因为您拥有数组<?php
//this part of code is for prepare sample data which is similar to your data
$class = new stdClass;
$class->prop1 = 'prop1';
$class->prop2 = 'prop2';
$array = array($class);
//THIS IS METHOD FOR SEARCH KEY BY VALUE
print_r(array_search('prop1',json_decode(json_encode($array[0]), true))); //you are looking for key for value 'prop1'
对象,因此您无法使用json_decode(json_encode($array[0]), true)
功能。因此,此行将stdClass
元素(即array_search
对象)转换为数组。现在我们可以使用$array[0]
函数按特定值搜索密钥。
2)stdClass
- 我们正在使用array_search
函数来获取数组元素的键,其值等于print_r(array_search('prop1',json_decode(json_encode($array[0]), true)));
。该功能的文档说:
array_search - 在数组中搜索给定值并返回 相应的密钥如果成功
因此,我们获得与array_search
值对应的密钥,即prop1
。 prop1
函数向我们显示结果。您可以将操作结果分配给变量,并将其用于代码的其他部分,例如:
prop1
答案 1 :(得分:0)
您可以使用array_search()按值搜索密钥,并按typecasting将对象转换为PHP数组,下面是一个示例:
<?php
$object = array();
$object[0] = new StdClass;
$object[0]->foo = 1;
$object[0]->bar = 2;
echo "<pre>";
print_r($object);
echo "</pre>";
$key = array_search ('2', (array) $object[0]);
echo "<pre>";
print_r($key);
?>
<强>输出:强>
Array
(
[0] => stdClass Object
(
[foo] => 1
[bar] => 2
)
)
bar