我有一个以特定索引开头的数组,第一个索引总是 43,之后我有信息,我想在找到值 products
但不是products
的值始终是索引 64,每次都会不同。
所以我试着用这个来找到值(value)产品所在的索引
$index = array_search('products', $data);
这样我就可以找到我想将数组拆分为 2 的索引,但我不知道如何,我尝试使用 array_chunk
但我无法让它工作
这是我的原始数组:
Array
(
[43] => 1234
[44] => 001
[45] => 100
[46] => 0
[47] => 0
[48] => 2
[49] =>
[50] => 1234
[51] => 001
[52] => 100
[53] => 0
[54] => 0
[55] => 2
[56] =>
[57] =>
[58] =>
[59] =>
[60] =>
[61] => 0
[62] => 1
[63] =>
[64] => products
[65] => 1234
[66] => 001
[67] => 100
[68] => 0
[69] => 0
[70] => 2
[71] =>
[72] => 1234
[73] => 001
[74] => 100
[75] => 0
[76] => 0
[77] => 2
[78] =>
[79] =>
[80] =>
[81] =>
[82] =>
[83] => 0
[84] => 1
)
我想要这样的东西:
Array
(
[43] => 1234
[44] => 001
[45] => 100
[46] => 0
[47] => 0
[48] => 2
[49] =>
[50] => 1234
[51] => 001
[52] => 100
[53] => 0
[54] => 0
[55] => 2
[56] =>
[57] =>
[58] =>
[59] =>
[60] =>
[61] => 0
[62] => 1
[63] =>
)
Array
(
[65] => 1234
[66] => 001
[67] => 100
[68] => 0
[69] => 0
[70] => 2
[71] =>
[72] => 1234
[73] => 001
[74] => 100
[75] => 0
[76] => 0
[77] => 2
[78] =>
[79] =>
[80] =>
[81] =>
[82] =>
[83] => 0
[84] => 1
)
同样没有值 products
的索引,您是否知道我可以使用什么函数来实现此目的或其他方法?希望您能帮帮我,谢谢。
最佳答案
几乎,array_chunk()
制作多个片段而不是您想通过给定键将数组切片分成两部分,这可以用array_slice()
来完成
$split = array_search('products', $data);
print_r(array_slice($data, 0, $split)) // first part
print_r(array_slice($data, $split + 1)); // second part
关于php - 如何在 PHP 中找到特定索引后将数组分成两部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435006/