有一个二维数组 不知道怎么写

WBOY
풀어 주다: 2016-06-23 14:12:25
원래의
1050명이 탐색했습니다.

本帖最后由 rightnow5 于 2013-06-06 20:26:33 编辑

二维数组 PHP



这个是一个效果演示,有的黑色分类 右边有一个 小图标 new 或者 hot
可以通过下面这个设置来控制 哪个分类要显示 new 或者 hot
比如第一组分类的 第二个 链接 要显示 新 图标,那后台设置  1:2
第二组分类 第一个链接 要显示 new  在 后台设置  2:1 这样来控制  




					foreach($jsonArray as $i=>$i$jsonObject){ //输出一级分类						echo '分组链接';						foreach($array as $k=>$id)							{    //输出二级分类,二级分类有些需要设置图标,获取了用户设置的参数,怎么来判断哪个子分类要添加图标,然后在那个分类输出图片class					     echo '该分组下的子链接';							}					}
로그인 후 복사



如果用户只设置了一个 比如 1:2 我还会判断 ,可是比如 设置new图标的分类有 1:2,2:4,3:2 三个子分类
我就不知道php怎么写了


回复讨论(解决方案)

1:2 的情况你是如何写的

<?php$setting_clsss = array(	'blod'=>'5:3,1:2',	'new1' => '4:2',	'new2' => '2:2',);// 处理成array(行=>array(列=>class))的结构$row_class = array();foreach($setting_clsss as $key => $value) {	if(strpos($value, ',') === false) {		$value .=',';	}	foreach(explode(',', $value) as $class) {		if(!$class) continue;		list($row, $column) = explode(':', $class);		$row_class[$row][$column] = $key; // 多个可以用数组表示	}}$links = array(	array(1, 2),	array(1, 2),	array(1, 2),	array(1, 2),	array(1, 2, 3),);foreach($links as $row=>$link){ //输出一级分类	$row += 1; //从0开始so+1    echo '分组链接', $row, ' : ';	    foreach($link as $column=>$id) {    		//输出二级分类,二级分类有些需要设置图标,获取了用户设置的参数,怎么来判断哪个子分类要添加图标,然后在那个分类输出图片class		$column += 1; //从0开始so+1		echo '连接', $column;		if(isset($row_class[$row][$column])) { 			echo '-',$row_class[$row][$column];		}		echo ' ';    }	echo "\n";}
로그인 후 복사

本帖最后由 xuzuning 于 2013-06-07 11:07:19 编辑

$ar = array(  'blod'=>'5:3,1:2',  'new1' => '4:2',  'new2' => '2:2',);foreach($ar as $k=>$r) {  foreach(array_chunk(preg_split('/[,:]/', $r), 2) as $v)    echo "$k : $v[0]行$v[1]列\n";}
로그인 후 복사
blod : 5行3列
blod : 1行2列
new1 : 4行2列
new2 : 2行2列

把 preg_split('/[,:]/', $r) 写成
preg_split('/\D+/', $r)
更具普遍性

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿