如果你有这个 PHP 数组:
$args = array(
'a' => array(
'zebra' => 1,
),
'b' => array(
'zebra' => 0,
),
'c' => array(
'zebra' => 0,
),
'd' => array(
'zebra' => 0,
),
'e' => array(
'zebra' => 1,
),
);
有没有办法通过“斑马”键值在算法上改变这个数组的顺序,但不是“增量”(0,0,0,1,1),它们会交替(0,1,0,1 ,0)。
因此,使用上面的示例,所需的完成数组将如下所示:
$ordered_args = array(
'b' => array(
'zebra' => 0,
),
'a' => array(
'zebra' => 1,
),
'c' => array(
'zebra' => 0,
),
'e' => array(
'zebra' => 1,
),
'd' => array(
'zebra' => 0,
),
);
任何额外的重复项都应附加到末尾,因此解决方案应允许其他数组,例如具有斑马值的数组,例如 (1,1,1,1,0,0),这将导致 (0,1,0, 1,1,1)
我根本想不通这个!
编辑:我尝试通过这个类似但不同的 question使用 usort 来做到这一点,但答案是否定的,所以我正在寻找一个编程解决方案(没有 usort)。
小唯快跑啊
翻阅古今
德玛西亚99
宝慕林4294392