【问题标题】:PHP using a string with multiple child keys as a lookup key for an associated array [duplicate]PHP使用具有多个子键的字符串作为关联数组的查找键[重复]
【发布时间】:2014-04-02 18:41:15
【问题描述】:

我想要一个多子“键”作为“查找”,以从各种关联数组中获取对象。例如:

$lookup_key = "['objects'][0]['object2']";

// this will be stored so when I need to get an object's value from various different arrays I can use these string to form a lookup key to get certain objects 

$object_array= array();
$object_array= ["objects"=>[["object1"=>"boot", "object2"=>"shoe"],"object"], "flowers"];

// using that key get the value
$object_value= $object_array->lookup($lookup_key);

现在 php 是否有一个已经进行这种类型查找的方法,或者我认为它是一个多维键?

任何帮助都会很棒!提前致谢。这是对象查找表的一部分。

【问题讨论】:

  • 你能解释一下你想要什么吗??

标签: php arrays lookup


【解决方案1】:

我以一种稍微不同的方式解决了这个问题,方法是存储一个对象字符串,然后将其分解为一个数组,从穿过该数组的数组中获取值:

$object_array= array();
$object_array= ["objects"=>[["object1"=>"boot", "object2"=>"shoe"],"object"], "flowers"];

$lookup=array();
$lookup_key="objects,0,object2";
$lookup=explode(',',$lookup_key);

$temp_object=array();
$new_object_array=array();
$new_object_array=$object_array;

$count=count($lookup);

for($i=0; $i<$count; $i++) {
    $temp_object=$new_object_array[$lookup[$i]];
    $new_object_array=$temp_object;
}
echo "\n value: $new_object_array";

当我正在寻找一个快速实现时,这似乎是我时间限制内的最佳方式,并且 php 会丢失变量转换。

【讨论】:

    猜你喜欢
    • 2017-07-28
    • 2018-08-10
    • 2012-07-15
    • 2012-06-10
    • 2018-10-30
    • 2012-08-30
    • 2023-03-15
    • 1970-01-01
    • 2015-07-06
    相关资源
    最近更新 更多