Heim >Backend-Entwicklung >PHP-Tutorial >Lassen Sie uns tiefer auf die foreach-Schleife und die unset()-Funktion eingehen. Lassen Sie es mir vom Meister erklären.

Lassen Sie uns tiefer auf die foreach-Schleife und die unset()-Funktion eingehen. Lassen Sie es mir vom Meister erklären.

WBOY
WBOYOriginal
2016-08-10 09:07:311212Durchsuche

<code>   foreach($arr as $key=>$val){
        if(in_array($val,$pattern)){
            unset($arr[$key]);
             break;
        }
    }   
    
     foreach($arr as $key=>$val){
        if(in_array($val,$pattern)){
            unset($val);
             break;
        }
    }
    
    
    贴了部分代码,我就想问一下unset()函数时,为什么是unset($arr[$key]);而不是unset($val);不知道懂不懂我的意思</code>

Antwortinhalt:

<code>   foreach($arr as $key=>$val){
        if(in_array($val,$pattern)){
            unset($arr[$key]);
             break;
        }
    }   
    
     foreach($arr as $key=>$val){
        if(in_array($val,$pattern)){
            unset($val);
             break;
        }
    }
    
    
    贴了部分代码,我就想问一下unset()函数时,为什么是unset($arr[$key]);而不是unset($val);不知道懂不懂我的意思</code>

Lassen Sie mich kurz den Unterschied erklären:

unset($arr[$key]) //Was zerstört wird, ist ein Element im Array $arr

unset($val) //Wenn die Variable $val zerstört wird, ist sie ein Element in $arr, was dem erneuten Öffnen einer Variablen entspricht. Das Zerstören der erneut geöffneten Variablen hat keine Auswirkungen auf das ursprüngliche Array $arr.

Ich frage mich, ob Sie Fragen haben?

<code>foreach($arr as $key=>$value)
{    
    $key和$value //这里是重新初始化的一个全新的变量,和 $arr 无关
}</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn