fed*_*o-t 1 php arrays foreach reference unset
我有一个foreach循环,如果满足某些条件,我想从数组中取消设置项目,如下所示:
foreach ($array as $element) {
if (conditions) {
unset($element);
}
}
Run Code Online (Sandbox Code Playgroud)
但是之后的元素并没有被取消.我究竟做错了什么?我是否取消了对实际元素或类似内容的引用?
简单的解决方案,通过它的索引取消设置元素:
foreach ($array as $key => $element) {
if (conditions) {
unset($array[$key]);
}
}
Run Code Online (Sandbox Code Playgroud)
只是取消设置$element将不起作用,因为此变量不是对数组元素的引用,而是副本.因此,改变值$element也不会改变阵列.
| 归档时间: |
|
| 查看次数: |
4109 次 |
| 最近记录: |