开发网站用php还是python,php和thinkphp
原创。
要求:用字符串键名对数组$arr排序后,仍然保留对应的字符串键名。
解决方案:
1.创建$arr的备份阵列$a。
2.对原始数组$arr进行排序。
3.创建一个数组$b,其键值为原数组的键名,其元素(键值)的顺序与有序数组一致。
4.调用array_combine($b,$arr)方法,通过合并两个数组来创建一个新数组,其中第一个数组元素是键名,第二个数组元素是键值。这样,就可以找回丢失的字符串键名。
1.[代码][PHP]代码
//字符串键名(下标)的数组
$fruits=array (lemon=lemon , orange=orange , banana=banana ,
苹果=苹果,蓝莓=蓝莓,草莓=草莓,
芒果=芒果,榴莲=榴莲,西瓜=西瓜,
‘鸭梨’=‘梨’,‘葡萄’=‘葡萄’);
Foreach ($fruits as $key=$val) //输出原始数组$fruits
回声水果[。$key。]=.$瓦尔。
;
回声
;//调用sort_with_keyName()方法获取排序后的数组。
$ fruits _ sorted=sort _ with _ keyName($ fruits);
//输出最终结果。
foreach($ fruits _ sorted as $ key=$ val)
“echo”结果已排序[”。$key。]=.$瓦尔。
;
/*定义一个方法对数组$arr进行排序,
*同时保留相应的字符串键名(下标)排序方法。
*/
函数sort_with_keyName( $arr) {
//将与$arr内容相同的数组复制到内存$ a的另一部分。
foreach($arr as $key=$value)
$ a[$ key]=$ value;
sort($ arr);//对数组$arr进行排序
/*创建一个,将原始数组的键名作为元素值(键值)
*数组$b,其元素(键值)的顺序与有序数组$arr一致。
*/
$ index=0;
Foreach ($arr as $keys=$values) //按排序后的数组顺序排列
Foreach($a as $key=$value) //在备份数组中查找键值
If ($values==$value)//如果找到键值
$ b[$ index]=$ key;//将数组$b的元素值设置为备份数组$ a的键名。
//返回由数组$b的键值作为键名,数组$arr的键值作为键值组成的数组。
返回array_combine($b,$ arr);
};
?
2.[图片] Array_With_String_Keys.png
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。