如何分割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')

我想做的是创建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');
$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),
     ...
*/