Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial![](https://ecs-static.teamtreehouse.com/assets/views/marketing/shared/community-banner-white-47072046c51352fe6a69f5e691ff5700b28bb11d45197d7bdf066d9ea3f72d0c.webp)
![gabriel wambua](https://secure.gravatar.com/avatar/eeddd9490b9a1766e2f56dcf8c0d3f79?s=96&d=https%3A%2F%2Fecs-static.teamtreehouse.com%2Fassets%2Fcontent%2Fdefault_avatar-445fbbabfc8dc9188fb5967fe43322ee0c3e0dd1e10f378bf8343784af5a13eb.webp&r=pg)
gabriel wambua
5,061 PointsQuestion about function arguments why did the teacher not use $arr as the array?
Hi guys,
I have a question about functions and arrays based on the following code
<?php
function hello($arr){
//why $arr and not the name of the actual array name???!!
if(is_array ($arr)){
foreach($arr as $name){
echo "Hello $name </br>" ;
}
} else {
echo "This is not an array";
}
}
$namesinarray= array ( 'Joseph', 'Brian', 'James' );
//Why didn't we use $arr here????? //Also why didnt we declare $namesinarray as global???
hello($namesinarray);
?>
Thanks for helping
1 Answer
![Steven Parker](https://uploads.teamtreehouse.com/production/profile-photos/969492/micro_tool_chess_set_2.jpg)
Steven Parker
230,688 PointsA parameter name ("$arr" in this case) acts as a placeholder for the actual argument. There's no technical advantage to having be the same as the argument that will be passed in the actual call, and it can sometimes make the code confusing to read if it is.
Naming the actual array "$arr" would potentially cause the same confusion between the value and the parameter. And "$namesinarray" is only being used within the scope it is created in.