foreach:"in"v."as"

Nic*_*ner 5 php foreach

这两种foreach用法有什么区别?

foreach ($nodes as $node) {
 //do stuff
}

foreach ($odp in $ftw) {
  //do more stuff
}
Run Code Online (Sandbox Code Playgroud)

Pav*_*aev 13

第一个是合法的PHP,第二个不是.


nic*_*ckf 7

in在PHP中使用不起作用.但是,在Javascript中,类似的形式是可以接受的,因此它们不同:

var obj = {
    'a' : 'Apple',
    'b' : 'Banana',
    'c' : 'Carrot'
};

for (var i in obj) {
    alert(i); // "a", "b", "c"
}

for each (var i in obj) {
    alert(i); // "Apple", "Banana", "Carrot"
}
Run Code Online (Sandbox Code Playgroud)

基本上,for each ... in ...(Javascript)或foreach ... as ...(PHP)将给出对象属性的值,而for ... in ...(javascript)将给出每个属性的名称.