2015-11-06 64 views
-3

我想知道什麼是在PHP中的JavaScript的「for in(x in y)」?我已經看到了其他網站的代碼,與我的程序具有相同的功能,但我希望它能夠轉換爲php。PHP的等效Javascript「for(x in y)」

喜歡這段JavaScript代碼:

function get_tat_friends(){ 
    var ar_friends = []; ar_fr_info = []; 
    FB.api('me/photos?type=uploaded&fields=likes,comments',function(data){ 
     obj = data['data']; 
     for(x in obj){ 
      if(obj[x]['likes'] != null){ 
      obj_like = obj[x]['likes']['data']; 
      for(y in obj_like){ 
       if(ar_friends[obj_like[y]['id']] == null){ 
       ar_friends[obj_like[y]['id']] = 1; 
       ar_fr_info[obj_like[y]['id']] = obj_like[y]['name']; 
       }else{ 
       ar_friends[obj_like[y]['id']] += 1; 
       ar_fr_info[obj_like[y]['id']] = obj_like[y]['name']; 
       } 
      } 
      } 
      if(obj[x]['comments'] != null){ 
      obj_like = obj[x]['comments']['data']; 
      for(y in obj_like){ 
       if(ar_friends[obj_like[y]['from']['id']] == null){ 
       ar_friends[obj_like[y]['from']['id']] = 1; 
       ar_fr_info[obj_like[y]['from']['id']] = obj_like[y]['from']['name']; 
       }else{ 
       ar_friends[obj_like[y]['from']['id']] += 2; 
       ar_fr_info[obj_like[y]['from']['id']] = obj_like[y]['from']['name']; 
       } 
      } 
      } 
     } 
     ar_friends = getSortedKeys(ar_friends); 
     //delete user_id 
      var index = ar_friends.indexOf(user_id); 
      if (index >= 0) { 
      ar_friends.splice(index, 1); 
      } 

     //call done function 
     done_load_friends(ar_friends,ar_fr_info); 
    }) 
} 

我已經嘗試過這樣做,但它不工作:

obj = data['data']; 
for($x in obj){ 
} 
+2

http://php.net/manual/en/ control-structures.foreach.php –

回答

1

看看PHP文件foreach循環:

foreach(array_expression as $value){ 
    statement 
} 
0

對於關聯數組,這是

foreach($array as $key => $value) { 
    ... 
} 

如果你有一個對象,你可以得到它的公共屬性的關聯數組get_object_vars,所以你可以寫:

foreach (get_object_vars($obj) as $key => $value) { 
    ... 
} 
+0

我試過這個: – tokis

+0

你試過了什麼? – Barmar

相關問題