alpineedge3 Posted September 3, 2007 Share Posted September 3, 2007 hello, I have an associative array that looks like this: Array ( [1940s] => Array ( [tag_id] => 8 [count] => 1 [fontsize] => 16px ) [academic] => Array ( [tag_id] => 13 [count] => 1 [fontsize] => 16px ) ... } I need to be able to change the $array[val]['fontsize'] in a loop. I don't think I'm doing it right, because when I print_r after the loop the fontsize values are not changed. However, the loop echos the desired strings. foreach($tagArray as $array => $val){ $zscoreInt = round($val['count']-$stdev); $$val['fontsize'] = $avgFontsize + $zscoreInt . 'px'; echo $$val['fontsize'] . '<br />'; } What's wrong? Thanks. Link to comment https://forums.phpfreaks.com/topic/67789-solved-loop-in-nested-associative-array-question/ Share on other sites More sharing options...
Azu Posted September 3, 2007 Share Posted September 3, 2007 Why are you using two $s in front of some of your variables? Link to comment https://forums.phpfreaks.com/topic/67789-solved-loop-in-nested-associative-array-question/#findComment-340607 Share on other sites More sharing options...
wildteen88 Posted September 3, 2007 Share Posted September 3, 2007 Chnage your code to this: foreach($tagArray as $array => $val) { $zscoreInt = round($val['count'] - $stdev); $tagArra[$array]['fontsize'] = $avgFontsize + $zscoreInt . 'px'; } When using $val, this is a new instance, when ever you update this variable it wont affect the array. What you'll have to do is refer to the array instead. Link to comment https://forums.phpfreaks.com/topic/67789-solved-loop-in-nested-associative-array-question/#findComment-340612 Share on other sites More sharing options...
alpineedge3 Posted September 3, 2007 Author Share Posted September 3, 2007 ah thanks wildteen88. problem solved. Link to comment https://forums.phpfreaks.com/topic/67789-solved-loop-in-nested-associative-array-question/#findComment-340654 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.