我注意到一些php函数可以通过简单地调用函数来改变变量值而其他函数则没有。例如,考虑trim()
和sort()
执行"操作:"
//trim()
$string = " Test";
echo $string."<br>";
trim($string);
echo $string."<br>";
//each echo returns the same. trim() does nothing for the second echo
然而,sort():
//sort()
$fruits = ['squash','apple','kiwi'];
foreach($fruits as $fruit){
echo $fruit."<br>";
//returns array in original order
}
sort($fruits);
foreach($fruits as $fruit){
echo $fruit."<br>";
//returns sorted array
}
我知道使用两者的正确方法(做了1000次)。但是这两个功能如何工作之间差异的技术术语是什么? sort()
修改其“&#39;变量(在某种程度上),但trim()
没有。
答案 0 :(得分:2)
这里有一些关于php的这两个功能的文档。你可以看到trim的参数是trans值,而sort的参数是参考。
有关价值和参考,请参阅Pedro Lobito's answer或here
bool sort(array &array_arg [, int sort_flags])
string trim ( string $str [, string $charlist ] )
答案 1 :(得分:0)
您可能需要阅读What's the difference between passing by reference vs. passing by value?
$string = trim($string);