① php 数组拆分
$arr=array(
array(
"name"=>"苹果",
"path"=>"食物-水果"
),
array(
"name"=>"大白菜",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大白菜1",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大白菜2",
"path"=>"食物-蔬菜"
),
array(
"name"=>"大众牌子xxx",
"path"=>"汽车-大众"
),
);
$result=array();
foreach($arras$v){
$path=explode("-",$v['path']);
if(!is_array($result[$path[0]])){
$result[$path[0]]=array();
}
if(!is_array($result[$path[0]][$path[1]])){
$result[$path[0]][$path[1]]=array();
}
array_push($result[$path[0]][$path[1]],$v['name']);
}
var_mp($result);
② PHP数组分割
$a = "12@84@940@33@77";
$elements = explode("@", $a);
print_r($elements);
关于explode
格式:
array explode ( string separator, string string [, int limit] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组。
如果 limit 参数是负数,则返回除了最后的 limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。
由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator 参数在 string 参数之前才行。
③ php 这种格式数组怎么拆分
示例程序代码:
代码文本:
<?php
$arr=array("11111|2222|3333","hello","cat","444|555|666");
print_r($arr);//原始
$arr2=[];
$k0=explode('|',$arr[0]);
$k3=explode('|',$arr[3]);
for($i=0;$i<count($k0);$i++) $arr2[]=array($k0[$i], $arr[1], $arr[2], $k3[$i]);
print_r($arr2);//结果
?>
④ php 数组分割成多个数组
1.系统函数:
array_chunk() 把一个数组分割为新的数组块
array_slice() 返回数组中被选定的部分等,更多的参考w3school
http://www.w3school.com.cn/php/php_ref_array.asp,程序员要学会用手册
2.自定义函数:
当系统函数不能满足实际需求时,根据实际的需求,自己重新定义函数
function(){}
3、 计算参数的数组:
参数1是传入数组,参数2是每个分数组元素数量//调用方法返回的是二维数组,可以用数组下标取出你需要的一维数组。
function arr_oper ( $arr, $num ) {
$count = count ( $arr );
for ( $i = 0; $i < $count / $num; $i ++ ) {$return_arr[$i] = array_slice ( $arr, $num * $i, $num }
4、利用:$sliceArr = arr_oper( $arr, 1000 );的公式:
$sliceArr[0],$sliceArr[1]......
这个根据你的要求弄就行,因为方法只能返回一个数组,所以我把拆分之后的几个子数组合成了一个数组一起return了。
这个方法会比较灵活,比如我把3000个元素的数组,500个一个拆分,就会返回一个有6个子数组的数组。
⑤ php 分割数组数据
str_split函数能实现你这样的功能,把字符串按长度分割为数组,例如:
<?php
$str="HelloFriend";
$arr1=str_split($str);
$arr2=str_split($str,3);
print_r($arr1);
print_r($arr2);
?>
代码输出的结果如下:
Array
(
[0]=>H
[1]=>e
[2]=>l
[3]=>l
[4]=>o
[5]=>
[6]=>F
[7]=>r
[8]=>i
[9]=>e
[10]=>n
[11]=>d
)
Array
(
[0]=>Hel
[1]=>lo
[2]=>Fri
[3]=>end
)