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

PHP PHP Functions Introducing Functions PHP Function Arguments

gabriel wambua
gabriel wambua
5,061 Points

Question 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
Steven Parker
229,732 Points

A 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.