【发布时间】:2015-05-12 21:31:24
【问题描述】:
我有一个名为 $data 的大数组。供您参考,我仅将其中的 14 个元素放在下面。实际上它可能包含数百个这样的元素:
Array
(
[0] => 16
[1] => Array
(
[0] => Array
(
[user_id] => 199
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-199
[full_name] => Benjamin Jordon
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[1] => Array
(
[user_id] => 901
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-901
[full_name] => Campusknot .
[gender] => 0
[user_image] => 2014/11/b23e023750785c8b5e61ace4d6a202fa%s.png
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[2] => Array
(
[user_id] => 244
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-244
[full_name] => Campusknot .
[gender] => 0
[user_image] => 2015/02/0f34dbb95ce18b17611220b78c87f9a6%s.png
[is_invisible] => 0
[user_group_id] => 7
[language_id] =>
)
[3] => Array
(
[user_id] => 200
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-200
[full_name] => Derius Galvez
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[4] => Array
(
[user_id] => 109
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-109
[full_name] => Hiten patel
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[5] => Array
(
[user_id] => 204
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-204
[full_name] => Huong Nguyen
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[6] => Array
(
[user_id] => 196
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-196
[full_name] => Ira Hampton
[gender] => 1
[user_image] => 2014/11/24c4a6835e667b67b82cea3666841ac7%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[7] => Array
(
[user_id] => 211
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-211
[full_name] => Kevin Rolando Vilcapaza Diaz
[gender] => 1
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[8] => Array
(
[user_id] => 202
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-202
[full_name] => Mai Le
[gender] => 0
[user_image] => 2014/08/ebaf98a8b7875b4814b06baceaccad22%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[9] => Array
(
[user_id] => 185
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-185
[full_name] => Perceus Mody
[gender] => 1
[user_image] => 2014/09/5f86df8752fd7079296c0101d235a592%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[10] => Array
(
[user_id] => 205
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-205
[full_name] => Phong Phan
[gender] => 0
[user_image] => 2014/08/d32361f1f72a4e24b9c8329501bc8aa1%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[11] => Array
(
[user_id] => 201
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-201
[full_name] => Rahul Gopal
[gender] => 1
[user_image] => 2014/09/d936e72dbad21732812c33e80752aad6%s.png
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[12] => Array
(
[user_id] => 208
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-208
[full_name] => SHUVAM SAHA
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[13] => Array
(
[user_id] => 212
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-212
[full_name] => Turner Corbin
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
)
)
请忽略上述数组中的第一个键值对,即[0] => 16。考虑 [1] 中存在的包含 14 个元素的数组。
现在我想要的是一个函数,我将向其传递数组$data 和一个参数page_no。
假设,如果我通过了page_no=1,那么我应该得到前 10 条记录作为回报,即以下数组:
Array
(
[0] => Array
(
[user_id] => 199
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-199
[full_name] => Benjamin Jordon
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[1] => Array
(
[user_id] => 901
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-901
[full_name] => Campusknot .
[gender] => 0
[user_image] => 2014/11/b23e023750785c8b5e61ace4d6a202fa%s.png
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[2] => Array
(
[user_id] => 244
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-244
[full_name] => Campusknot .
[gender] => 0
[user_image] => 2015/02/0f34dbb95ce18b17611220b78c87f9a6%s.png
[is_invisible] => 0
[user_group_id] => 7
[language_id] =>
)
[3] => Array
(
[user_id] => 200
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-200
[full_name] => Derius Galvez
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[4] => Array
(
[user_id] => 109
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-109
[full_name] => Hiten patel
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[5] => Array
(
[user_id] => 204
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-204
[full_name] => Huong Nguyen
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[6] => Array
(
[user_id] => 196
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-196
[full_name] => Ira Hampton
[gender] => 1
[user_image] => 2014/11/24c4a6835e667b67b82cea3666841ac7%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[7] => Array
(
[user_id] => 211
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-211
[full_name] => Kevin Rolando Vilcapaza Diaz
[gender] => 1
[user_image] =>
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[8] => Array
(
[user_id] => 202
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-202
[full_name] => Mai Le
[gender] => 0
[user_image] => 2014/08/ebaf98a8b7875b4814b06baceaccad22%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
[9] => Array
(
[user_id] => 185
[profile_page_id] => 0
[user_server_id] => 1
[user_name] => profile-185
[full_name] => Perceus Mody
[gender] => 1
[user_image] => 2014/09/5f86df8752fd7079296c0101d235a592%s.jpg
[is_invisible] => 0
[user_group_id] => 6
[language_id] =>
)
)
然后如果我通过 page_no =2 那么后续的集合或记录,即键 [10],[11],[12],[13] 应该得到回报。数组键不应从[0] 重新开始。换句话说,我希望基于参数 page_no 的值的 10 个或更少元素中的数组元素,原始数组键保持不变。
如果特定页码不存在任何元素,则它应该返回 false。
由于实际数组的大小可能非常庞大,包含数百个这样的元素,我应该如何以有效的方式执行此操作?请帮我。谢谢。
【问题讨论】:
标签: php arrays multidimensional-array associative-array key-value