php Array数组转换问题

WBOY
Freigeben: 2016-06-23 14:06:13
Original
1091 Leute haben es durchsucht

如何把

Array(    [strwarenum] => Array        (            [0] => 1            [1] => 1        )    [strwareid] => Array        (            [0] => 80            [1] => 79        ))
Nach dem Login kopieren


转换为

Array(    [config_id] =>     [strwareid] => ,78,80    [strwarenum] => ,1,1    [config_name] =>     [config_desc] =>     [diycat_id] => )
Nach dem Login kopieren
Nach dem Login kopieren

并可以单独调用呢


回复讨论(解决方案)

设你原来的数组为$a,建一个你需要包含所有key的空数组$b(你的例子有些key在$a中没有,所以要另建)
不知道你的 78这个值从何而来,暂时当你是把79打错了
我懒得写赋值部分了,还要改你的代码,麻烦,自己写吧

foreach($b as $k => $v){    $a[$k][]='';    $v=array_reverse($a[$k]);}var_export($b);
Nach dem Login kopieren

自己测试

非常抱歉,实在不会把

Array(    [strwarenum] => Array        (            [80] => 1            [78] => 1        )    [strwareid] => Array        (            [0] => 80            [1] => 78        )    [config_id] =>     [config_name] =>     [config_desc] =>     [diycat_id] => )
Nach dem Login kopieren

变为
Array(    [config_id] =>     [strwareid] => ,78,80    [strwarenum] => ,1,1    [config_name] =>     [config_desc] =>     [diycat_id] => )
Nach dem Login kopieren
Nach dem Login kopieren

$arr=你的数组;foreach($arr as &$v){     if(is_array($v)) $v=','.join(',',$v);}print_r($arr);
Nach dem Login kopieren

PHP code?12345$arr=你的数组;foreach($arr as &$v){ if(is_array($v)) $v=','.join(',',$v);}print_r($arr);


非常感谢,解决了

	$ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79));		function change($ar){		$arr=array();		foreach($ar as $key=>$value){			if($key=="strwareid"){				for($i=count($ar[$key])-1;$i>=0;$i--){					$s=$s.",".$ar[$key][$i];				}			}			if($key=="strwarenum"){				for($i=count($ar[$key])-1;$i>=0;$i--){					$m=$m.",".$ar[$key][$i];				}			}		}		$arr['config_id']='';		$arr['strwareid']=$s;		$arr['strwarenum']=$m;		$arr['config_name']='';		$arr['config_desc']='';		$arr['diycat_id']='';		return $arr;	}	echo "<pre class="brush:php;toolbar:false">";	print_r(change($ar));	echo "
Nach dem Login kopieren
";Array( [config_id] => [strwareid] => ,79,80 [strwarenum] => ,1,1 [config_name] => [config_desc] => [diycat_id] => )

呃,还有连带关系?strwarenum的key和strwareid的值对应么?给两个不同的strwarenum的值看看结果是怎样

另外,你给的数据能不能写成定义形式啊 "strwarenum" => Array...,还要我逐个去改啊?! 

居然结贴了……如果有对应关系,上面的各楼包括我写的那个都不能用

PHP code?123456789101112131415161718192021222324252627282930313233343536    $ar=array("strwarenum"=>array(1,1),"strwareid"=>array(80,79));         function change($ar){        $arr=array(……
其实strwarenum 是数量可以不考虑。对应每个strwareid为1也可以
strwareid是主要要获得的函数

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage