PHP清空函数(unset)
PHP中,清空变量可以使用unset函数,unset函数可以释放一个变量,同时也可以释放一个数组中的所有元素。当数组元素被释放后,数组的键名将不再是连续的数字;而是保持着原有的键名不变。
例如:
```
$names = array('John', 'Mary', 'Tom');
unset($names[1]); //释放Mary
print_r($names); //输出Array([0] => John [2] => Tom)
```
可以看到,数组元素2的键名并没有变,依旧是2,而不是调整为1。
另外,如果释放的变量是一个对象(object)的引用,则该对象的引用计数器减1;当计数器被减至零时,PHP会自动释放该对象。
PHP asort 函数
asort函数用于对数组进行排序,排序后,数组的键名将不变,但是值将被重新排序。
例如:
```
$age = array('peter'=>35, 'ben'=>27, 'joe'=>43);
asort($age);
print_r($age);
```
运行结果:
```
Array ([ben] => 27 [peter] => 35 [joe] => 43)
```
可以看到,数组元素的键名并没有变,只有值被重新排序。
Java相应函数
Java中也有类似的清空函数和排序函数。
清空函数(unset)
Java中,与PHP中的unset函数类似的函数是System.gc()函数。这个函数用于启动Java虚拟机内部的垃圾回收机制,来释放无用对象的内存空间。与PHP不同的是,Java中不需要手动释放一个对象的引用,垃圾回收机制会自动对未被引用的对象进行释放。
例如:
```
String str = new String("hello world");
str = null; //释放对象的引用
System.gc(); //启动垃圾回收机制
```
排序函数(asort)
Java中,类似于PHP中的asort函数的函数是Arrays.sort函数。这个函数用于对数组进行排序,排序后,数组的元素值将被重新排序,但是键名并不会改变。
例如:
```
int[] array = {35, 27, 43};
Arrays.sort(array);
System.out.println(Arrays.toString(array));
```
运行结果:
```
[27, 35, 43]
```
可以看到,数组元素的键名并没有变,只有值被重新排序。
总结
PHP中的unset函数用于释放一个变量或数组元素的内存空间,而Java中使用System.gc()函数来启动垃圾回收机制;PHP中的asort函数用于对数组进行排序,而Java中使用Arrays.sort函数来对数组进行排序。虽然两种语言的函数名称和用法有些许不同,但是功能上是等同的。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复