清除 PHP 数组值的最佳方法
哪个对于清除数组中的所有值更有效?第一个要求我每次在第二个示例的循环中使用该函数。
foreach ($array as $i => $value) {
unset($array[$i]);
}
或者这个
foreach($blah_blah as $blah) {
$foo = array();
//do something
$foo = null;
}
哪个对于清除数组中的所有值更有效?第一个要求我每次在第二个示例的循环中使用该函数。
foreach ($array as $i => $value) {
unset($array[$i]);
}
或者这个
foreach($blah_blah as $blah) {
$foo = array();
//do something
$foo = null;
}
就像Zack在下面的评论中所说的那样,你可以简单地使用重新实例化它
$foo = array(); // $foo is still here
如果你想要一些更强大的东西,请使用unset,因为它也会从符号表中清除$foo,如果你以后需要数组,只需再次实例化它。
unset($foo); // $foo is gone
$foo = array(); // $foo is here again
如果您只想将变量重置为空数组,只需重新初始化它即可:
$foo = array();
请注意,这将保留对它的任何引用:
$foo = array(1,2,3);
$bar = &$foo;
// ...
$foo = array(); // clear array
var_dump($bar); // array(0) { } -- bar was cleared too!
如果要中断对它的任何引用,请先取消设置它:
$foo = array(1,2,3);
$bar = &$foo;
// ...
unset($foo); // break references
$foo = array(); // re-initialize to empty array
var_dump($bar); // array(3) { 1, 2, 3 } -- $bar is unchanged