Php 如何在这种类型的数组中设置目标值
我有一个数组存储在变量$user\u top\u cat中。我遍历我网站上的所有用户,这个变量存储他们的顶级类别 对于随机用户,print\r为我们提供:Php 如何在这种类型的数组中设置目标值,php,arrays,Php,Arrays,我有一个数组存储在变量$user\u top\u cat中。我遍历我网站上的所有用户,这个变量存储他们的顶级类别 对于随机用户,print\r为我们提供: Array ( [0] => stdClass Object ( [category] => 16 [count] => 8 ) [1] => stdClass Object ( [category] => 17 [count] => 2 ) [2] => stdClass Object (
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\u top\u cat根据我的目标用户不同而不同…类似于:
foreach( $user_top_cat as $myObj ) {
if( $myObj['category'] == 17 ) {
$category_17_count = (string)$myObj['count'];
}
}
您可以使用变量变量,但如何知道存在哪些变量
foreach ($user_top_cat as $cat){
${'category_'.$cat->category.'_count'} = $cat->count;
}
使用数组可能会更好
foreach ($user_top_cat as $cat){
$categories[$cat->catergory]=$cat->count;
}
我不知道您为什么要这样做,但可以使用类别将其连接起来,并将其转换为变量,然后分配值:
foreach($user_top_cat as $values) {
$cat_num = $values->category;
${"category_".$cat_num."_count"} = $values->count;
}
为什么需要dinamic变量?动态变量可能会帮助您${category.$my\u way\u to\u access\u cat.\u count}=$my\u way\u to\u access\u count。真正的问题是你为什么需要它。这通常是不必要的嘿,这个方法叫什么?“我一直想要这样的东西。”philtune称之为变量。酷,查过了。不过,我不知道您使用的括号{}是用来做什么的?@philtune,这样您就可以正确地声明变量名了。您可以使用$variable\u name=category\u.$cat\u num.\u count;然后$$variable\u name=$values->count;或者上面的答案。同样的声明。您还可以将{}用于诸如$values->{'hypenated-property'}之类的hypenated属性@philtune当然没问题,很高兴这件事透露了一些信息