Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在这种类型的数组中设置目标值_Php_Arrays - Fatal编程技术网

Php 如何在这种类型的数组中设置目标值

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 (

我有一个数组存储在变量$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 ( [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当然没问题,很高兴这件事透露了一些信息