我有这个阵列:
Array
(
0 => "3_some val",
1 => "1_some other val",
2 => "0_val",
3 => "2_value",
4 => "4_other value"
)
考虑到上面的数组,有没有一种方法可以这样做呢?
Array
(
0 => "val",
1 => "some other val",
2 => "value",
3 => "some val",
4 => "other value"
)
实际上是强制下划线
(_)
前面的数字成为新创建数组中的键。谢谢 最佳答案
这应该做到:
$arr1 = array (
0 => "3_some val",
1 => "1_some other val",
2 => "0_val",
3 => "2_value",
4 => "4_other value"
);
$result = array();
foreach($arr1 as $val) {
list($key, $value) = explode('_', $val, 2);
$result[$key] = $value;
}
// Sort by keys
ksort($result);
执行
print_r($result)
将打印出:Array
(
[0] => val
[1] => some other val
[2] => value
[3] => some val
[4] => other value
)