如何分割php数组
我想做的是创建php数组动态。我不知道数组中的元素。假设我有这样的数组如何分割php数组,php,arrays,slice,Php,Arrays,Slice,我想做的是创建php数组动态。我不知道数组中的元素。假设我有这样的数组 $mix_array =array('1','3','6','1','5','3','6','5','1','7','3','9'); 我想要这个数组的切片。我想要从上面的数组中创建数组,但是要创建像 $array_1 = ('1','1','1'); $array_2 = ('3','3','3'); $array_3 = ('6','6'); $array_4 = ('5','5'); $array_5 = ('9')
$mix_array =array('1','3','6','1','5','3','6','5','1','7','3','9');
我想要这个数组的切片。我想要从上面的数组中创建数组,但是要创建像
$array_1 = ('1','1','1');
$array_2 = ('3','3','3');
$array_3 = ('6','6');
$array_4 = ('5','5');
$array_5 = ('9');
$array_6 = ('7');
也就是说,首先在原始数组中找到公共元素,然后从中生成其他数组。最好生成一个关联数组,而不是键入
$array\u 1
,$array\u 2
。与使用相同的值创建数组(如array('1','1','1')
)不同,您可以只保留值的数量,如array('1'=>3)
结果
Array
(
[1] => 3
[3] => 3
[6] => 2
[5] => 2
[7] => 1
[9] => 1
)
或者正如Josh所说,只需使用
array\u count\u values()
最好创建一个动态数组,而不是键入$array\u 1
,$array\u 2
。与使用相同的值创建数组(如array('1','1','1')
)不同,您可以只保留值的数量,如array('1'=>3)
结果
Array
(
[1] => 3
[3] => 3
[6] => 2
[5] => 2
[7] => 1
[9] => 1
)
或者,正如Josh所说,简单地使用
数组\u count\u values()
有几种方法可以做到这一点,下面是一个例子(顺便说一下,效率很低,但如果这是一项很短的工作,就足够了):
您应该看一下有几种方法可以做到这一点,下面是一个例子(顺便说一下,效率很低,但如果是一项短期工作,就足够了):
您应该看看您可以用于此目的的:
$array = array_count_values($mix_array);
/* $array will have the following content:
$array{
1 => 3
3 => 3
6 => 2
...
*/
如果您确实需要切片版本,那么可以使用
您可以为此使用:
$array = array_count_values($mix_array);
/* $array will have the following content:
$array{
1 => 3
3 => 3
6 => 2
...
*/
如果您确实需要切片版本,那么可以使用
数组_slice()//
或
数组\u chunk()/数组\u slice()//
或
array_chunk()/array_slice(),正在尝试相交但不完全相交array_slice(),正在尝试相交但不完全相交此已存在本机函数。此已存在本机函数。
$result = array();
$i = 0;
for($array as $key=>$value)
$result[$i++] = array_fill(0,$value,$key);
/* $result[0] = (1,1,1),
$result[1] = (3,3,3),
...
*/