脚本宝典收集整理的这篇文章主要介绍了转换php数组的正确方法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$data = [ 'name' => [ (int) 0 => '095a108478345cac184f956b1e8dee91a5a89f87bbabd7b3fb4058f577aDF.jpg',(int) 1 => '02059.jpg',(int) 2 => 'avatar.jpg' ],'tyPE' => [ (int) 0 => 'image/jpeg',(int) 1 => 'image/jpeg',(int) 2 => 'image/jpeg' ],'tmp_name' => [ (int) 0 => 'C:\xampp\tmp\PHP17AA.tmp',(int) 1 => 'C:\xampp\tmp\PHP17BA.tmp',(int) 2 => 'C:\xampp\tmp\PHP17BB.tmp' ],'error' => [ (int) 0 => (int) 0,(int) 1 => (int) 0,(int) 2 => (int) 0 ],'size' => [ (int) 0 => (int) 80542,(int) 1 => (int) 6532,(int) 2 => (int) 6879 ] ]
我需要像这样转换为数组
$data = [ (int) 0 => [ 'name' => '095a108478345cac184f956b1e8dee91a5a89f87bbabd7b3fb4058f577adf.jpg','type' => 'image/jpeg','tmp_name' => 'C:\xampp\tmp\PHP17AA.tmp','error' => (int) 0,'size' => (int) 80542 ],(int) 1 => [ 'name' => '02059.jpg','tmp_name' => 'C:\xampp\tmp\PHP17BA.tmp','size' => (int) 6532 ],(int) 2 => [ 'name' => 'avatar.jpg','tmp_name' => 'C:\xampp\tmp\PHP17BB.tmp','size' => (int) 6879 ] ]
我正在寻找将第一个PHP数组转换为第二个的正确方法.是否为这些操作提供了任何PHP数组函数. CakePHP哈希阵列管理是否可行?
$ret = []; $keys = array_keys($data); for ($i=0; $i<3; $i++) { $ret[$i] = array_combine($keys,array_column($data,$i)); }
其中3是name,type,tmp_name等元素的数量.
Demo.
对于PHP<同样的事情5.5
$ret = []; $keys = array_keys($data); for ($i=0; $i<3; $i++) { $ret[$i] = array_combine($keys,array_map(function($element) use ($i){ return $element[$i]; },$data)); }
Demo.
这里有一个例子,为了完整起见,只有两个foreach:
$ret = []; foreach($data as $key => $val) { $i = 0; foreach ($val as $v) { $ret[$i][$key] = $v; $i++; } }
顺便说一下,无论其他实现如何,我都会使用它.
以上是脚本宝典为你收集整理的转换php数组的正确方法全部内容,希望文章能够帮你解决转换php数组的正确方法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。