返回PHP函数中连接的字符串


Return concatenated string from function in PHP

在PHP中,我创建了一个数组来存储需要以多种方式多次连接的值,因此创建了一个附带的函数来在需要时执行连接。但是,该函数似乎不返回数组的值,而是返回字符串的纯文本部分:

$my_array = array ("id" => "test");
$test = "First part " . $my_array['id'];
echo $test;   // <-- returns "First part test"
function concatenate(){
           $test_2 = "First part " . $my_array['id'];
            return $test_2;     
}
$use_function = concatenate();
echo $use_function;  // <-- returns "First part". Does not include array information.

任何关于为什么会发生这种情况或更好的处理方法的想法将不胜感激。谢谢。

$my_array = array ("id" => "test");
$test = "First part " . $my_array['id'];
echo $test;   // <-- returns "First part test"
function concatenate($my_array){
           $test_2 = "First part " . $my_array['id'];
            return $test_2;     
}
$use_function = concatenate($my_array);
echo $use_function;
这是一个小错误。

你不能在这个函数中使用$my_array-variable !你必须使它全局或调用函数与数组作为参数:

功能:function concatenate($arr, $string = "First Part "){ return $string . $arr['id']; }

Call: concatenate($my_array);

试试这个

$my_array = array ("id" => "test");
function concatenate($my_array){
           $test_2 = "First part " . $my_array['id'];
            return $test_2;     
}
$use_function = concatenate($my_array);
echo $use_function;
输出:

First part test

尝试使用此代码

$my_array = array ("id" => "test");
$test = "First part " . $my_array['id'];
echo $test;   // <-- returns "First part test"
function concatenate($myArray){
           $test_2 = "First part " . $myArray['id'];
            return $test_2;     
}
$use_function = concatenate($my_array);
echo $use_function;

或者如果这个函数在一个类中,你也可以在你的函数中使用:

$test_2 = "First part " . $this->my_array['id']

你的函数不知道my_array['id'],这就是为什么它无法返回任何