如何仅选择阵列中的前几项?

Row*_*wan 7 php arrays

这是一个简单的人可以回答我.我试过搜索,但我不知道我在寻找什么.

我有一个来自PHP的JSON字符串的数组,用于电影的演员和工作人员.

在这里,我只拔出工作名称为'Actor'的人

  foreach ($movies[0]->cast as $cast) {
      if ($cast->job == 'Actor') {
    echo '<p><a href="people.php?id=' . $cast->id . '">' . $cast->name . ' - ' . $cast->character . '</a></p>';
      }
  }
Run Code Online (Sandbox Code Playgroud)

问题是,我希望能够限制有多少人将工作名称"Actor"拉出来.说,前3.

那么我如何从这个数组中只挑选这些人中的前三个呢?

Jon*_*ier 3

使用一个名为 的变量$num_actors来跟踪您已经数过的数量,并break在达到 3 时退出循环。

$num_actors = 0;
foreach ( $movies[0]->cast as $cast ) {
    if ( $cast->job == 'Actor' ) {
        echo '...';

        $num_actors += 1;
        if ( $num_actors == 3 )
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)