后端开发|php教程
请教PHP算法,二维数组取出一维数组中id相同为几个新的二维数组。
后端开发-php教程
PHP 二维数组 算法
hr联盟网站源码,ubuntu 读取相机数据,如何设置web爬虫,php申明数组,南庄seo如何lzw
小弟刚学PHP不久,遇到了一个问题,请教大侠们,谢谢!
火星源码,vscode 局部变量,ubuntu 17 安装,查看当前tomcat进程,爬虫管道,php java 集成,静海seo咨询电话,搭建业务网站源码,织梦修改模板教程视频教程lzw
二维数组如下;
$arr = array(
array(‘id’=>100,’value’=>100),
array(‘id’=>100,’value’=>130,
array(‘id’=>100,’value’=>140),
array(‘id’=>100,’value’=>150),
array(‘id’=>101,’value’=>1600),
array(‘id’=>101,’value’=>100),
array(‘id’=>102,’value’=>100),
array(‘id’=>102,’value’=>100),
array(‘id’=>102,’value’=>100),
array(‘id’=>103,’value’=>100),
array(‘id’=>103,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>105,’value’=>100)
);
.net ftp 源码,vscode加pyocd,火狐Ubuntu,tomcat输出日志,sqlite 圖書舘管理,ckplayer 清晰度插件,最火的前端框架移动端,python游戏与爬虫哪个简单,php html分离,丰南seo优化公司,vb 捕捉网站验证码图片,网页文字修改,手机图片轮播模板下载lzw
如何拆分成下面5个二维数组:
arr1(
array(‘id’=>100,’value’=>100),
array(‘id’=>100,’value’=>130,
array(‘id’=>100,’value’=>140),
array(‘id’=>100,’value’=>150)
);
arr2(
array(‘id’=>101,’value’=>1600),
array(‘id’=>101,’value’=>100)
);
arr3(
array(‘id’=>102,’value’=>100),
array(‘id’=>102,’value’=>100),
array(‘id’=>102,’value’=>100)
);
arr4(
array(‘id’=>103,’value’=>100),
array(‘id’=>103,’value’=>100)
);
arr5(
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>105,’value’=>100)
);
arr5(
array(‘id’=>105,’value’=>100)
);
回复讨论(解决方案)
arr5(
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
array(‘id’=>104,’value’=>100),
);
arr6(
array(‘id’=>105,’value’=>100)
);
??
到底是6个数组还是5个数组?两个arr5里面的数据还不一样?
真心没看懂~~~能不能告诉我规律?我是没看出来你下面的6个数组的规律。。。。特别是两个arr5里面的东西直接把人整蒙圈了。。。
6个,最后一个arr5应该为:arr6
arr6(
array(‘id’=>105,’value’=>100)
);
Sorry,拷贝错误。
就是id相同的要放入一个二维数组中,
上面数组有6种id:100,101,102,103,104,105,要分别放入到6种不同的二维数组中。
$arr = array(array(id=>100,value=>100),array(id=>100,value=>130),array(id=>100,value=>140),array(id=>100,value=>150),array(id=>101,value=>1600),array(id=>101,value=>100),array(id=>102,value=>100),array(id=>102,value=>100),array(id=>102,value=>100),array(id=>103,value=>100),array(id=>103,value=>100),array(id=>104,value=>100),array(id=>104,value=>100),array(id=>104,value=>100),array(id=>105,value=>100));foreach($arr as $key=>$val){$newarr[$val[id]][]=array(id=>$val[id],value=>$val[value]);}$arr1=$newarr[100];$arr2=$newarr[101];$arr3=$newarr[102];$arr4=$newarr[103];$arr5=$newarr[104];$arr6=$newarr[105];
$arr = array( array(id=>100,value=>100), array(id=>100,value=>130), array(id=>100,value=>140), array(id=>100,value=>150), array(id=>101,value=>1600), array(id=>101,value=>100), array(id=>102,value=>100), array(id=>102,value=>100), array(id=>102,value=>100), array(id=>103,value=>100), array(id=>103,value=>100), array(id=>104,value=>100), array(id=>104,value=>100), array(id=>104,value=>100), array(id=>105,value=>100));foreach($arr as $v) $res[$v[id]][] = $v;//print_r($res);//你可以直接使用这个数组//也可以导入变量表后访问extract(array_values($res), EXTR_PREFIX_ALL, arr);//如print_r($arr_3);
非常感谢ahui_lcm和xuzuning,这么简单的转换我都没有想出来,真的很惭愧。
再问下2位和各位大侠,我应该怎么样能快速提高对PHP数组操作。老是受到其它语言的数组影响。
谢谢!分数我还是要给第一个帮助我的兄弟ahui_lcm。兄弟xuzuning相对来说回答的更完美点,也非常感谢xuzuning。
//代码同上//此段代码直接运行下即可$arr = array (array (id => 100, value => 100 ), array (id => 100, value => 130 ), array (id => 100, value => 140 ), array (id => 100, value => 150 ), array (id => 101, value => 1600 ), array (id => 101, value => 100 ), array (id => 102, value => 100 ), array (id => 102, value => 100 ), array (id => 102, value => 100 ), array (id => 103, value => 100 ), array (id => 103, value => 100 ), array (id => 104, value => 100 ), array (id => 104, value => 100 ), array (id => 104, value => 100 ), array (id => 105, value => 100 ) );foreach($arr as $v) $res[$v[id]][] = $v; //my_debug($res);//你可以直接使用这个数组 //也可以导入变量表后访问extract(array_values($res), EXTR_PREFIX_ALL, arr); my_debug($arr_0);my_debug($arr_1);my_debug($arr_2);my_debug($arr_3);function my_debug($v = NULL, $var_name = NULL, $method = dump, $backtrace = false) {$display_none = \;if (defined ( FRONTPAGE )) {$display_none = "display:none;";}print ("
") ;$call_stack = debug_backtrace ();printf ( file:%s ,%s(),line:%s
, @$call_stack [0] [file], @$call_stack [1] [function], @$call_stack [0] [line] );if (! $var_name) {//取$v在源代码中的变量名字.$v_line = file ( $call_stack [0] [file] );$f_line = $v_line [$call_stack [0] [line] - 1];$match = array ();preg_match ( #my_debug.*[(].*#, $f_line, $match );if (count ( $match )) {$var_name = $match [0];}}if ($var_name) {printf ( debug: %s, $var_name );}//xdebug_var_dump ( $v );print (
) ;if ($method == dump) {var_dump ( $v );} else {print_r ( $v );}print ("
") ;if ($backtrace) {foreach ( debug_backtrace () as $v ) {echo ($v [file] . ":" . $v [line] . "," . $v [class] . "," . $v [function] . "()\n
\n");}}print (‘) ;print (“\n”) ;}
my_debug($arr_0);my_debug($arr_1);my_debug($arr_2);my_debug($arr_3);my_debug($arr_4);my_debug($arr_5);/*说明把这几个打印出来就都出来了!.............my_debug是我打印数组出来效果函数!很实用的,还可以定位行...*/