脚本宝典收集整理的这篇文章主要介绍了php – 处理数组以始终包含来自另一个数组的值的键(和顺序),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Array ( [0] => First_name [1] => surname [2] => posITion [3] => age )
此数组应确定数组2中应存在的键和键/值的顺序.因此,在完美的世界中,数组2将如下所示:
Array ( [0] => Array ( [first_name] => James [surname] => Johnstone [position] => Striker [age] => 42 ) [1] => Array ( [first_name] => Al [surname] => MacLean [position] => Defender [age] => 22 ) ... )
我遇到的问题是在下面的示例数组中.有时:
a)数组2中键的顺序与数组1不同
b)数组1中定义的一些键在数组2中不存在 – 如下所示:
Array ( [0] => Array ( [position] => Defender [first_name] => James [surname] => McDonald ) [1] => Array ( [position] => Striker [first_name] => Ben [surname] => Lailey ) ... )
我想要一些帮助创建一个PHP函数,它将采用一个’格式错误’的数组2,如上面的那个,并将其转换为应该如何:按照数组1定义的顺序,并添加任何缺少的键成为’正确’如此:
Array ( [0] => Array ( [first_name] => James [surname] => McDonald [position] => Defender [age] => ) [1] => Array ( [first_name] => Ben [surname] => Lailey [position] => Striker [age] => ) ... )
此示例中使用的密钥是任意的,可能在阵列1中添加,删除或重新排序新密钥,我需要阵列2以尊重阵列1.
先感谢您.
// Pass in an array of keys,and an array of arrays function cleanArray($keys,$arrays) { // Create an empty container for our final output $final = array(); // Loop through array of arrays foreach($arrays as $a) { // Create empty value for current item $next = array(); // Loop through keys,in order foreach($keys as $k) { // Assign next key and value if we have it,or a blank string if we don't $next[$k] = isset($a[k]) ? $a[k] : ''; } // Add current item to output $final[] = $next; } // Return final values,each item Now having its keys ordered and normalized return $final; }
以上是脚本宝典为你收集整理的php – 处理数组以始终包含来自另一个数组的值的键(和顺序)全部内容,希望文章能够帮你解决php – 处理数组以始终包含来自另一个数组的值的键(和顺序)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。