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. Quote 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? Quote 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. Quote 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. Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.