php二维数组拆分
① php多维数组问题,,高分求高手帮帮,,
1、二维转一维:
function fixArray($r,$k)
{
$out = array();
foreach ($r as $key=>$val) {
if (is_array($val)){
$out = array_merge($out, fixArray($val,$key));
} else{
$out["'$key'"] = $val;//$val;
}
}
return $out;
}
$arr =array(
'2'=>array('5'=>'ok','6'=>'good'),
'3'=>array('7'=>'yes','8'=>'cool'),
'4'=>array('9'=>'look')
);
$output = fixArray($arr,"");
print_r($output);
2、你说的带主键名3,基本上不可能实现,因为如果键名相同,则值会互相覆盖,或者还是需要用2维数组。
② php 中如何给二维数组赋值
PHP给二位数组赋值的方式是非常灵活的,这里介绍三种方法(设二位数组$arr = array(array(1,2,3),array(4,5,6));):
在已知二维数组元素个数的情况下,可以直接根据下标来赋值:
$arr[2]=array(7,8,9);//给二维数组的第一维赋值。
$arr[3][0]=10;//给二维数组的第二维元素赋值。
2.在未知二维数组具体元素的情况下,可以使用array_push()函数来赋值:
array_push($arr,array(11,12,13));
3.同样,在未知二维数组元素的情况下,还可以利用count函数来赋值:
$arr[count($arr)]=array(14,15,16);
③ php 怎么把一个二维数组转换为一个一维数组
foreach($arras$k=>$v){
$id_new[]=$id;
$name_new[]=$name;
}
//新数组
//Array(
//[0]=>1
//[$id_new]=>$name_new懂没?
//)
④ PHP根据二维数组元素数量拆分成若干个小数组
php数组分组可以使用函数array_chunk,按照给定的规则进行遍历,如果数组的num值大于8,就整除8,获取整除的数据,然后按照整除数进行分组分块即可。
⑤ php将字符串拆分成二维数组
<?php
$str="1235
4565
1596";
functionstrsToArray($strs,$x){//把字符串按指定正则切割为数组
$result=array();
$array=array();
//把与正则匹配的字符串替换为@
$strs=preg_replace($x,'@',trim($strs));
/*这里切割字符串,需要注意的是如果字符串中有@
可以把上下两行这个@改为其他字符串中没有的符号*/
$array=explode('@',trim($strs));
foreach($arrayas$key=>$value){
$result[]=$value;
}
return$result;
}
$test=strsToArray($str,'/ /');//以换行符切割字符串为数组
foreach($testas$key=>$value){//遍历数组,再以空格切割字符串为数组
$testb[]=strsToArray($value,'/s/');
}
echovar_mp($testb);
?>
希望对你有所帮助
⑥ PHP怎么分割字符串 输出二维数组
巧妙运用explode()这个方法即可,根据你的需求写了段代码
$result=array();
$str='111,aaa|222,bbb|333,ccc';
//第一次分割字符串
$arr1=explode('|',$str);
foreach($arr1as$key=>$value){
//第二次分割字符串
$arr2=explode(',',$value);
$result[$key]['id']=$arr2[0];
$result[$key]['name']=$arr2[1];
}
var_mp($result);
数组打印效果如下图
希望能帮助到你,注意采纳