如何在这种类型的数组中定位值

时间:2014-12-12 16:57:57

标签: php arrays

我有一个存储在变量$user_top_cat中的数组。我遍历我网站上的所有用户,这个变量存储他们的顶级类别。

在随机用户上,print_r()向我们提供:

    Array ( 
[0] => stdClass Object ( [category] => 16 [count] => 8 )
[1] => stdClass Object ( [category] => 17 [count] => 2 )
[2] => stdClass Object ( [category] => 24 [count] => 2 )
)

现在,我想将变量17中的类别$category_17_count的计数值存储为字符串。我该怎么做?

请注意,$user_top_cat根据我定位的用户而有所不同...

3 个答案:

答案 0 :(得分:1)

类似的东西:

foreach( $user_top_cat as $myObj ) {
    if( $myObj['category'] == 17 ) {
        $category_17_count = (string)$myObj['count'];
    }
}

答案 1 :(得分:1)

您是否可以使用变量变量,但您如何知道哪些变量存在?

foreach ($user_top_cat as $cat){
      ${'category_'.$cat->category.'_count'} = $cat->count;
}

你可能更好地使用数组

foreach ($user_top_cat as $cat){
       $categories[$cat->catergory]=$cat->count;
}

答案 2 :(得分:1)

我不知道您为什么要这样做,但是您可以使用category连接它并将其转换为变量然后分配值:

foreach($user_top_cat as $values) {
    $cat_num = $values->category;
    ${"category_".$cat_num."_count"} = $values->count;
}

Sample Output