2009-08-14 13 views
5

¿Cuál es la diferencia entre estos dos usos de foreach?foreach: "in" v. "As"

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

foreach ($odp in $ftw) { 
    //do more stuff 
} 

Respuesta

13

El primero es PHP legal, segundo is not.

7

El uso de in en PHP no funciona. En Javascript sin embargo, de forma similar es aceptable y que difieren de esta manera:

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" 
} 

básicamente, for each ... in ... (Javascript) o foreach ... as ... (PHP) dará el valor de las propiedades del objeto, mientras que for ... in ... (javascript) dará usted el nombre de cada propiedad.