-1

Iamは、Facebookから私の映画を取得するphpの特定の数の後にforeachループをブレークアウトしようとしています。

ちょっとバカなことだと思います。これが私が得たものです:

  try {
// Proceed knowing you have a logged in user who's authenticated.
$user_movie_info = $facebook->api('/me/movies?fields=name,genre,release_date,picture,likes');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }

//print_r($user_movie_info);

$numer_of_movies_allowed = 2;
$movie_counter = 0;

foreach($user_movie_info['data'] as $movie) {

    if ($movie_counter === $number_of_movies_allowed ) {
        break;
    }

    echo '<img src="' .$movie['picture']['data']['url']. '">'; 
    echo $movie['name'];  
    echo $movie['release_date']; 
    echo $movie['genre']; 
    echo $movie['likes']; 
    echo "</br> </br>";
    $movie_counter ++;  
}

print ($movie_counter);

print ($numer_of_movies_allowed);

2本の映画の後で発生することはありませんが、それらすべてを示しています。

私が使用する場合:

if ($movie_counter == $number_of_movies_allowed )

また

if ((int)$movie_counter === (int)$number_of_movies_allowed )

映画はまったく上映されていません。

4

4 に答える 4

1
if ($movie_counter === $number_of_movies_allowed )

する必要があります:

if ($movie_counter == $number_of_movies_allowed )
于 2012-11-20T15:20:55.833 に答える
1

===は、両方のデータ型が等しいことを必要とします。$ movie_counterを解析して、1つの等号をintまたは削除する必要があります。

試す

if ($movie_counter == $number_of_movies_allowed ) 

また

if ((int) $movie_counter === (int)$number_of_movies_allowed ) 
于 2012-11-20T15:21:39.527 に答える
1
$numer_of_movies_allowed = 2;
$movie_counter = 0;

foreach($user_movie_info['data'] as $movie) {

    if ($movie_counter === $number_of_movies_allowed ) {

初期化時に正しい変数名を書いた場合に役立つかもしれません…はと$numer_of_movies_allowed同じではありません$number_of_movies_allowed

また、error_reportingを開発に適したレベルに設定した場合、この質問全体は完全に不要になります(PHPはif条件内の変数が設定されていないことを通知するため)–今すぐ実行してください!

于 2012-11-20T16:17:58.250 に答える
0

これが私が見つけた表です:

// "===" means that they are identical  
// "==" means that they are equal  
// "!=" means that they aren't equal.

         false   null    array()  0      "0"     0x0     "0x0"   "000"    "0000"
false    ===     ==      ==       ==      ==     ==      !=      !=       !=    
null     ==      ===     ==       ==      !=     ==      !=      !=       !=    
array()  ==      ==      ===      !=      !=     !=      !=      !=       !=    
0        ==      ==      !=       ===     ==     ===     ==      ==       ==    
"0"      ==      !=      !=       ==      ===    ==      ==      ==       ==    
0x0      ==      ==      !=       ===     ==     ===     ==      ==       ==    
"0x0"    !=      !=      !=       ==      ==     ==      ===     ==       ==    
"000"    !=      !=      !=       ==      ==     ==      ==      ===      ==    
"0000"   !=      !=      !=       ==      ==     ==      ==      ==       ===
于 2012-11-20T15:31:20.517 に答える