2009-08-14 12 views
5

Qual è la differenza tra questi due usi di foreach?foreach: "in" v. "As"

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

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

risposta

13

Il primo è PHP legale, il secondo è is not.

7

L'utilizzo di in in PHP non funziona. In JavaScript tuttavia, una forma simile è accettabile e si differenziano così:

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

fondamentalmente, for each ... in ... (Javascript) o foreach ... as ... (PHP) darà il valore delle proprietà dell'oggetto, che for ... in ... (JavaScript) darà tu il nome di ogni proprietà.